1 つ以上のメンバを持つユーザー定義のデータ型を定義します。
[ Public | Private ] Type typeName
member declarations
End Type
Public | Private
オプション。Public は、ユーザー定義型が、そのデータ型が定義されているモジュールがロードされている限り、そのモジュールの外部から参照できるよう指定します。Private は、ユーザー定義型が定義されているモジュール内でのみ参照できることを指定します。
既定では、型は Private です。
typeName
型の名前です。
member declarations
型のメンバを宣言します。型には少なくとも 1 つのメンバ宣言が必要です。宣言に Const ステートメントを含めることはできません。
Type ステートメントはモジュールレベルでのみ有効です。
Object という語を型の名前に使用することはできません。
member は、Dim、Private、Public、Static のキーワードを伴わない変数の宣言です。member を Private、Public、Static として宣言することはできません。自動的に Public になります。
各 member のステートメントで変数を 1 つずつ宣言します。
member のデータ型には、任意のスカラー型、Variant 型、固定長配列、他のユーザー定義型を指定できます。現在の Type ステートメントで定義されているデータ型は指定できません。
Variant 型として宣言された member には、スカラー値、配列 (固定長配列や動的配列)、リスト、またはユーザー定義オブジェクト、製品固有のオブジェクト、OLE オートメーションオブジェクトへの参照を入れられます。配列、リスト、またはオブジェクトを含む Variant 型のメンバを持った型のインスタンスには、次の規則が適用されます。
member の名前には、Rem 以外の LotusScript のキーワードを使用できます。
ユーザー定義型の名前は、他のデータ型と同じように、変数宣言で使用できます。一般的な変数宣言の構文は次のとおりです。
Dim varName As typeName
これは、typeName 型の変数を宣言して、新しい変数のメンバを初期化します。メンバの初期値は通常の変数と同じです。
メンバ自体がユーザー定義型の場合は、同じように初期値が代入されます。
型のメンバを参照するには、ドット表記法 (varName.memberName の形式) を使用します。ピリオドの両側 (varName の後と memberName の前) には、空白、タブ、改行文字があっても構いません。
メンバが配列ならば、メンバの参照に配列のサブスクリプトも記述できます。