簡単な輸出インボイス作成マクロ (10)
IV) 変数 (Variables)
変数の適用範囲(Scope)と有効期間(Lifetime)
変数には、変数が適用される範囲と有効期間があります。「適用範囲」と「有効期間」は、「宣言方法」と「宣言場所」によって規定されます。
プロシージャレベル変数
「プロシージャレベル変数」は、プロシージャ内で宣言する変数で、そのプロシージャ内でのみ使用できます。
変数内のデータはプロシージャが終了すると、破棄されます。今回の「輸出インボイス作成マクロ」が、この変数宣言にあたります。
モジュールレベル変数
下図のように、「モジュールレベル変数」は、モジュールの先頭にある「宣言セクション」で宣言する変数で、そのモジュールに含まれるすべてのプロシージャで使用できます。
「宣言セクション」とは、モジュールの先頭から最初のプロシージャまでの領域です。
パブリック変数
「パブリック変数」は、下図のように、「宣言セクション」で変数宣言をして、すべてのモジュール内のプロシージャで使用できるもので、データはブックが閉じられるまで、保持されます。
変数の種類 | 宣言場所 | 宣言方法 | 適用範囲 | 有効期間 |
---|---|---|---|---|
プロシージャレベル変数 | プロシージャ内 | Dim | 宣言したプロシージャ内でのみ使用できる | プロシージャ実行中のみ値が保持される |
モジュールレベル変数 | 宣言セクション | Dim Private | モジュール内のすべてのプロシージャで使用できる | モジュールを閉じるまで値が保持される |
パブリック変数 | 宣言セクション | Public | プロジェクトのすべてのプロシージャで使用できる | ブックを閉じるまで値が保持される |