辞書をパラメータとして渡したい。私のコードは少し奇妙に見えるかもしれませんが、とにかくそれを示します:
Sub get_Insurers_Dictionary()
Dim cInsurers As c_Insurers
Dim myDictionary As Scripting.Dictionary
Set cInsurers = New c_Insurers
Set myDictionary = New Scripting.Dictionary
Set myDictionary = cInsurers.Get_Parameters_Dictionary(cInsurers, myDictionary)
End Sub
次に、c_Insurersクラスで:
Public Function Get_Parameters_Dictionary(cInsurers As c_Insurers, myDictionary As Dictionary) As Dictionary
Dim oSheet As Excel.Worksheet
Dim cParameters As c_Parameters
Set oSheet = ThisWorkbook.Sheets("Parameters_Insurers")
oSheet.Activate
Set cParameters = New c_Parameters
Set cParameters = cParameters.Get_Parameters(cParameters, oSheet)
Me.fPartner_ID_Col = cParameters.get_Header_Cols(oSheet, cParameters.fMax_Col, "INSURER_ID")
Me.fPartner_Name_Col = cParameters.get_Header_Cols(oSheet, cParameters.fMax_Col, "INSURER_NAME")
Me.fCountry_Col = cParameters.get_Header_Cols(oSheet, cParameters.fMax_Col, "COUNTRY")
For lcnt = 1 To UBound(cParameters.fArray)
myDictionary.Add cParameters.fArray(lcnt, Me.fPartner_ID_Col), Me.Get_Parameters_Class(cInsurers, cParameters, lcnt)
Next lcnt
Set Get_Parameters_Insurers = myDictionary
Set cParameters = Nothing
End Function
一見複雑なコードを除けば、私の質問は単純です。クラスオブジェクトをアイテムとして追加することさえ可能ですか?(私はまだ辞書を扱うことに慣れていません)。私の辞書はc_insurersクラスに入力されていますが、get_Insurers_Dictionaryに戻ったときになぜ空になっているのですか?