サブルーチンを定義する

サブルーチンを定義する構文は次のとおりです。

[ Static ] [ Public | Private ] Sub subName [ ( parameters ) ]

statements

End Sub

要素

説明

Static

サブルーチン内で定義される変数は、既定で静的であると宣言します。静的変数は、それが定義されたモジュールがロードされている間は、1 つの呼び出しから次の呼び出しまでの間、その値が (消滅するのではなく) 保持されます。

Public、Private

サブルーチンをモジュールレベルで宣言する場合、Public を使用すると、サブルーチンが定義されているモジュールがロードされている限り、アプリケーションはそのモジュールの外部でサブルーチンを参照できます。Private を使用すると、サブルーチンはそれが定義されているモジュールの中でだけ有効です。ユーザー定義クラスの定義内でサブルーチンを宣言する場合、Public はサブルーチンがクラス定義の外でも有効であることを意味します。Private は、サブルーチンがクラス定義の内側でだけ有効であることを意味します。既定では、モジュールレベルで定義されたサブルーチンは Private で、クラス内で定義されたサブルーチンは Public です。

subName

サブルーチンの名前です。

parameterList

サブルーチンの正式なパラメータをカンマで区切りカッコで囲んだリスト (パラメータが存在する場合) です (リストは空にすることもできます)。このリストは、サブルーチンが呼び出されたときに、サブルーチンに渡される変数を宣言します。リストの各メンバの形式は、次のとおりです。

[ByVal] paramName [() | List] [As dataType]

ByVal は、paramName が値渡しされることを意味します。paramName に代入された値は、その値へのポインタではなく、メモリ内の値のローカルコピーです。paramName() は配列変数です。List は paramName をリスト変数として識別します。それ以外の場合、paramName には LotusScript® でサポートされるその他すべての型の変数を指定できます。配列、リスト、オブジェクト参照、ユーザー定義のデータ型の構造体は、値渡しすることはできません。As dataType は変数のデータ型を指定します。この節を省略し、データ型の接尾辞を使用して、変数をスカラーデータ型の 1 つとして宣言できます。この節を省略し、paramName の末尾にデータ型の接尾辞を付けなければ (同時に、既存の Deftype ステートメントで処理されなければ)、データ型は Variant 型となります。

サブルーチンを宣言する

LotusScript 4.0 以前のリリースでは、サブルーチンは参照される前に宣言しておく必要がある場合がありました。これは LotusScript 4.0 では不要になりました。参照に先立って LotusScript サブルーチンを宣言しておくことはできますが、それは無視されます。

サブルーチンの宣言の構文は次のとおりです。

Declare [ Static ] [ Public | Private ] Sub subName [ ( parameters ) ]