宣言 Typeステートメントユーザー定義のデータ型宣言
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
'1 つまたは複数の要素を持つユーザー定義のデータ型 (ユーザー定義型) を宣言します。モジュール レベルで使います。 ' '構文 ' '[Private | Public] Type varname 'elementname [([subscripts])] As type '[elementname [([subscripts])] As type] '. . . ' 'End Type 'Type ステートメントの構文は、次の指定項目から構成されます。 ' '指定項目 'Public 'Private 'varname 'elementname 'subscripts ' ' 'type ' '解説 ' 'Type ステートメントは、モジュール レベルでのみ使用できます。Type ステートメントでユーザー定義型を宣言すると、その宣言の適用範囲内であれば、どこからでもその型の変数を宣言できるようになります。ユーザー定義型の変数の宣言には、Dim、Private、Public、ReDim、または Static のいずれかのステートメントを使います。 ' '標準モジュールでは、ユーザー定義型は既定でパブリックになり、その適用範囲はキーワード Public で変更できます。クラス モジュールでは、ユーザー定義型は常にプライベートになり、適用範囲はキーワード Public では変更できません。 ' 'Type...End Type ブロック内では、行番号と行ラベルは使えません。 ' 'ユーザー定義型は、データ型の異なる多数の関連する要素で構成されるデータ レコードでよく使われます。 ' '次の例は、ユーザー定義型の中に固定サイズの配列を含めたものです。 Type StateData CityCode(1 To 100) As Integer ' サイズ固定型 (静的) 配列を宣言します。 County As String * 30 End Type Dim Washington(1 To 100) As StateData 'この例では、StateData には固定サイズの配列 CityCode が含まれており、レコード Washington は StateData と同じ構造になっています。 ' 'ユーザー定義型の中で固定サイズの配列を宣言する場合は、変数ではなく数値リテラルまたは数値定数を使って、次元を宣言する必要があります。 ' 'Type ステートメントの使用例 ' '次の例では、Type ステートメントを使って、ユーザー定義のデータ型を定義します。Type ステートメントは、モジュール レベルでのみ使用します。クラス モジュールで使用する場合は、Type ステートメントの直前にキーワード Private を付ける必要があります。 Type EmployeeRecord ' ユーザー定義型を作成します。 ID As Integer ' データ型の要素を定義します。 Name As String * 20 Address As String * 30 Phone As Long HireDate As Date End Type Sub CreateRecord() Dim MyRecord As EmployeeRecord ' 変数を宣言します。 ' 変数 EmployeeRecord への代入は、 ' プロシージャ内に記述しなければなりません。 MyRecord.ID = 12003 ' 要素に値を代入します。 End Sub |