मैं वर्ड 2007 में वीबीए का उपयोग करके एक फॉर्म दस्तावेज़ का प्रतिनिधित्व करने के लिए कोड बनाने की कोशिश कर रहा हूं। मैंने अनुभाग, प्रश्नपत्र और प्रश्न का प्रतिनिधित्व करने के लिए कक्षाएं बनाई हैं।वीबीए - संग्रहों के संग्रह में संग्रह कैसे जोड़ें
तो मेरे पास 15 अनुभाग हैं। मैंने प्रत्येक 'सेक्शन' ऑब्जेक्ट को 'सेक्शन' संग्रह में जोड़ने के लिए एक फ़ंक्शन बनाया है, फिर ऑब्जेक्ट को नष्ट कर दिया है, नतीजा यह है कि ऑब्जेक्ट संग्रह (या कुछ) में लगातार रहते हैं।
क्या संग्रह में संग्रह जोड़ने के लिए एक ही विधि का उपयोग करना संभव है या क्या मुझे प्रत्येक संग्रह को स्पष्ट रूप से परिभाषित करना होगा? मॉड्यूल में
कोड:
Public Sections As Collection
Function DefineSection(ByVal SectionName As String)
Set Section = New clsSection
Section.myName = SectionName
Sections.Add Section, SectionName
End Function
Function DefineQuestionSet(ByVal SectionName As String, ByVal Name As String, ByVal NoOfQuestions As Integer, ByVal IsMutuallyExclusive As Boolean, Optional ByVal DependentOnSection As String)
Dim Qsets As Collection
Set Qsets = New Collection
Set QuestionSet = New clsQuestionSet
QuestionSet.Name = Name
QuestionSet.NoOfQuestions = NoOfQuestions
QuestionSet.MutuallyExclusive = IsMutuallyExclusive
If Not (DependentOnSection) = "" Then
QuestionSet.DependentOnSection = DependentOnSection
End If
Qsets.Add QuestionSet
Sections.Item(SectionName).Add Qsets
End Function
फिर इस के माध्यम से कहा जाता है:
Sub Initilise()
Set Sections = New Collection
DefineSection "PersonalDetails"
DefineQuestionSet "PersonalDetails", "PersonalDetails", 29, False
End Sub
दुर्भाग्य से मैं अब के लिए कोड बदल दिया है लौटने के लिए, कोशिश करने के लिए और सिर्फ स्वतंत्र संग्रह बना - लेकिन मुझे लाइन 'सेक्शन.इटम (सेक्शननाम) से एक त्रुटि मिली है।' DefineQuestionSet 'फ़ंक्शन में Qsets' जोड़ें। – Stevo
बस स्पष्ट करने के लिए, कोड वस्तुओं को संग्रह में जोड़ता है और फिर ऑब्जेक्ट के उदाहरण को नष्ट कर देता है, लेकिन यह संग्रह में लगातार बना रहता है, इसलिए मुझे वस्तुओं का ट्रैक रखने की आवश्यकता नहीं है। क्या यह संग्रह के लिए समान है? यानी संग्रह बी बनाएं, अभिभावक संग्रह ए में जोड़ें, संग्रह बी को नष्ट करें, लेकिन क्योंकि इसे संग्रह ए में जोड़ा गया है, यह संग्रह ए में एक 'आइटम' बना हुआ है। – Stevo
त्रुटि संदेश हमेशा गूढ़ है 'ऑब्जेक्ट इस संपत्ति का समर्थन नहीं करता है या विधि ' – Stevo