ユーザー定義型変数(構造体)はDicitonaryに代入が出来ない
ユーザー定義型変数(構造体)をDictionaryやCollectionに格納しようとすると
以下コンパイルエラーが発生します。
ユーザー定義型変数はDictionaryに格納不可のサンプルコード
下記コードを実行するとコンパイルエラーが発生します。
コンパイル エラー:
パブリック オブジェクト モジュールで定義されたユーザー定義型に限り、変数に割り当てることができ、実行時バインディングの関数に渡すことができます。
'要参照設定 Microsoft Scripting Runtime Public Type myType tName As String tAge As Long tSex As String End Type Public Sub sample() Dim dic As Dictionary Set dic = New Dictionary Dim pInfo As myType dic.Add pInfo, 1 End Sub
ユーザー定義型変数をClass化する事で回避可能です
'クラスモジュール(Class1)に記載 Public tName As String Public tAge As Long Public tSex As String '標準モジュールに記載 Public Sub sample() Dim dic As Dictionary Set dic = New Dictionary Dim pInfo As New Class1 dic.Add pInfo, 1 End Sub
コメント