Typeステートメント
構文
[Private|Public] Type varname
elementname[([subscripts])] As type
End Type
キーワードPublicは省略可能です。すべてのモジュールから参照できるユーザー定義型を宣言します。
キーワードPrivateは省略可能です。Typeステートメントを記述したモジュールからのみ参照できるユーザー定義型を宣言します。
varnameには、ユーザー定義型の名前を指定します。
elementnameには、ユーザー定義型を構成する要素の名前を指定します。
subscriptsは省略可能です。配列変数の次元を指定します。
typeには、ユーザー定義型を構成する要素のデータ型を指定します。
解説
ユーザー定義のデータ型を作成します。
Typeステートメントは、プロシージャレベルで使用します。
標準モジュール内で宣言したユーザー定義型は、規定ではパブリックになります。クラスモジュール内で宣言したユーザー定義型は、どんなときもプライベートになります。
サンプル
次の例は、ユーザー定義型を宣言してユーザー定義型の変数を作成します。
Private Type myType
myValue As Integer
myString As String
End Type
Sub Sample()
Dim myData(3) As myType, i As Integer, msg As String
For i = 0 To 2
myData(i).myValue = i * 100
myData(i).myString = "test" & i
Next i
For i = 0 To 2
msg = msg & myData(i).myValue & Chr(9) & myData(i).myString & vbCrLf
Next i
MsgBox msg
End Sub