私は自分自身のデータ型を定義し、値として辞書に入れようとしています。 VBAは自分のデータ型を受け入れないと不平を言う。どのようにこれを動作させるための任意のアイデア?ユーザ定義のデータ型を辞書に入れる方法
Option Explicit
Public Type Translation
german As String
french As String
italian As String
End Type
Private resource As Object
Public Sub addTranslation(key As String, g As String, f As String, i As String)
Dim trx As Translation
trx.german = g
trx.french = f
trx.italian = i
resource.add key, trx '<== here VBA is complaining
End Sub
Public Sub initResource()
If resource Is Nothing Then Set resource = CreateObject("scripting.dictionary")
End Sub
これはエラーmessgeです:パブリックオブジェクトモジュールで定義されて
のみユーザー定義型は、バリアントまたはから強制的または遅延バインディングモジュールに渡すことができます。
あなたがコレクションの辞書にユーザー定義のデータ型を入れたい場合は、クラスとして定義する必要がありますいくつかのより多くの私は、この答えを見つけ掘った後
メッセージとは何ですか? – BNL
パブリックオブジェクトモジュールで定義されたユーザー定義型のみが、バリアントとの間で強制的に継承されるか、遅延バインディングされたモジュールに渡されます。 –
この行を "resource.Add key、trx.french"に変更するとコンパイルされますが、目標が何であるかはわかりません。 "bla" = "add"ですか? –