[関数名を指定して実行する]
引数で指定された関数を呼び出します。
関数の参照を使用すると、動的なスクリプトを書けるようになります。
【ソースコード】
[tips0061.vbs]
Option Explicit
On Error Resume Next
Sub Test1()
WScript.Echo "これは Test1 関数の出力です。"
End Sub
Sub Test2()
WScript.Echo "これは Test2 関数の出力です。"
End Sub
Dim strFuncName
Dim objFunction
If WScript.Arguments.Count = 1 Then
strFuncName = WScript.Arguments.Item(0)
Set objFunction = GetRef(strFuncName)
If Err.Number = 0 Then
Call objFunction()
Else
WScript.Echo strFuncName & " 関数を取得できませんでした。"
End If
Set objFunction = Nothing
Else
WScript.Echo "呼び出す関数名を指定してください。"
End If
【実行結果】
C:\> cscript //NoLogo tips0061.vbs
C:\temp\vbs>cscript //NoLogo test.vbs test1
これは Test1 関数の出力です。
C:\temp\vbs>cscript //NoLogo test.vbs test2
これは Test2 関数の出力です。