VBA - Как добавить коллекцию в коллекцию коллекций

Я пытаюсь создать код для представления документа формы с помощью VBA в Word 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
11
задан Community 9 July 2018 в 19:34
поделиться