2013年08月07日


VBScript で、グローバルな変数を関数内で定義する方法

グローバルな変数を作成して各関数から参照させるには、ソースコードの先頭で Dim で宣言するのが通常ですが、関数内から ExecuteGlobal ステートメントを呼び出す事によって同じ結果を得る事ができます。但し、この際変数名は文字列で指定する必要があるので、ソース全体(実行単位)で『定義済変数』という位置付けで申し合わせる必要があります
' **********************************************************
' グローバルな変数を関数内で定義する方法
' ( 文字列を作って、グローバル名前空間で実行 )
' **********************************************************

Call MyObject( "WshShell", "WScript.Shell" )

' 実行デスト
Call WshShell.Run( "notepad" )

' **********************************************************
' 関数内よりグローバル変数にオブジェクトをセットする
' **********************************************************
Function MyObject( strName, strObjName )

	Dim ExecuteString

	Call DimGlobal( strName )	' この部分は無くても動作します

	ExecuteString = "Set " & strName & " = WScript.CreateObject(""" & strObjName & """)"

	ExecuteGlobal ExecuteString

End Function

' **********************************************************
' 関数内よりグローバル変数を作成する
' **********************************************************
Function DimGlobal( strName )

	Dim ExecuteString

	ExecuteString = "Dim " & strName

	ExecuteGlobal ExecuteString

End Function




posted by at 14:58 | Comment(0) | 基本事項 | このブログの読者になる | 更新情報をチェックする


この記事へのコメント
コメントを書く
お名前:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。