1. ホーム
  2. スクリプト・コラム
  3. vbs

vbscriptの基本 - vbs変数の定義と使用法

2022-02-08 21:02:21

I. 変数の宣言

明示的な宣言。Dim、Public、Privateステートメントによる宣言

暗黙の宣言:宣言を行わず直接使用する。

強制的に宣言される。Option Explicit ステートメントにより、すべての変数の明示的な宣言が強制されます。

dim name,age
name="Ethon"
age=27
msgbox name & age

'name="Ethon" : age=27 Assigning values to multiple variables
Note: References to variables, methods, functions and objects are case-insensitive in VBScript

'Implicit declaration
hello="ABC123"
msgbox hello

II. 可変スコープ

VBScriptの変数スコープには3種類あります。

フッターレベルのスコープ

変数は、スクリプトファイル全体で有効です。宣言された変数のスコープは、スクリプト全体です。

プロセスレベルのスコープ

変数は、プロシージャまたは関数の中で有効です。プロシージャや関数の外側の他のコードは、プロシージャレベルの変数にアクセスすることはできません。

(iii) クラスレベルのスコープ

これは、プロパティとメソッドの論理的なグループ化を含む特別な構造体である。クラス定義の外のコードは、クラスレベルの変数にアクセスすることはできません。

変数の宣言に使用できる文は3つあります。 Dim 薄暗い Private プライベート Public

変数の宣言には、変数のスコープによって異なる文が使われます。

Dim:スクリプト、プロシージャ、クラスのスコープで変数を宣言する場合

1) スクリプトレベルで宣言されたすべての変数は、Dim、Private、Publicのいずれが使用されていても、スクリプトファイル全体を通じて有効です。

2) 手続き変数には、Dimを使用しなければなりません。

3) クラスレベルの変数では、DimはPublicと全く同じ効果を持ちます。

2) Private: スクリプト、クラスレベルのスコープをPrivateステートメントで宣言する場合。

1) スクリプトレベルの変数に使用した場合、DimやPublicと全く同じ働きをします。

2) クラスレベルのプライベート変数を宣言するためには、Privateでなければならない。

3) Public: スクリプト、クラスレベルのスコープを宣言するためのものです。

1) スクリプトレベルのスコープで変数を宣言する。実質的には Dim や Private と同じである。

2) クラスレベルで宣言された変数は、そのクラスのパブリックプロパティとなる。Dim または Public を使ってクラスレベルで宣言されたすべての変数は、そのクラス全体で有効なパブリックプロパティとなります。

正しい変数宣言の方法

1) プロシージャ内で Dim で宣言された変数は、そのプロシージャのローカル変数です。

フッターレベルでDimを使って宣言された変数、Dimは変数を宣言するための完全な機能を持つキーワードです。

クラスベースでないスクリプトやWindowsのスクリプトアーティファクトでないスクリプトでは、PrivateとPublicはDimと変わらない効果を持ちます。

2) 必要であれば、スクリプトの中で、スクリプト全体で有効な変数を(Dimの代わりに)Privateで宣言することができます。

クラス内にしか属さない変数を宣言する場合、Privateの使用はより重要になります。

Publicはクラスのパブリックプロパティを宣言する場合にのみ使用し、Private変数はProperty Let、Set、Getプロシージャで使用することも検討できます。クラス内のDimはPublicと全く同じ効果を持ちますが、Dimをクラス内で使用しない方が良いという考え方があります。