[関数の参照を使って曜日別に処理を分ける]
関数ポインタを使用して、実行日(曜日)毎に処理を分けています。
日〜火曜日は Test1 関数を、水〜土曜日は Test2 関数を実行します。
【ソースコード】
[tips0062.vbs]
Option Explicit
On Error Resume Next
Sub Test1()
WScript.Echo "Test1 関数を実行しました。"
End Sub
Sub Test2()
WScript.Echo "Test2 関数を実行しました。"
End Sub
Dim objFunction
Dim lngWeekday
Dim strFuncName
strFuncName = Array( _
"DUMMY", "Test1", "Test1", "Test1", _
"Test2", "Test2", "Test2", "Test2")
lngWeekday = WeekDay(Date())
WScript.Echo "今日は" & WeekdayName(lngWeekday, False) & "です。"
Set objFunction = GetRef(strFuncName(lngWeekday))
If Err.Number = 0 Then
Call objFunction()
Else
WScript.Echo strFuncName(lngWeekday) & _
" 関数を取得できませんでした。"
End If
Set objFunction = Nothing
【実行結果】
C:\> cscript //NoLogo tips0062.vbs
今日は金曜日です。
Test2 関数を実行しました。