VBS(Windows Script Host前提)でキーマクロを作るテンプレ。
以下メモ帳にペーストして保存し、拡張子を.vbsにして使用。
'VBSキーマクロ作成用テンプレ
'-----------------------------------------------
'主に使用する命令
'WScript.sleep(1000)
'>キー入力前後の待ち時間を設定します。
' 単位はミリ秒なので、1000で1秒待つ。
'WSHShell.SendKeys "e"
'「""」内でキーを指定。エンターALT等その他の特殊キーの
'指定方法についてはファイルの末尾に記載(予定)
'-----------------------------------------------
'シェルのオブジェクトをセット(キーマクロを記述するための呪文)
Set WSHShell = WScript.CreateObject("WScript.Shell")
'繰り返し回数を指定する変数を宣言
Dim target
'ユーザに警告
msgbox "WSHで処理を実行します、手動で操作等を行うと誤作動の恐れがあるので、操作を行わないでください。OKボタンを押したあと3秒後に処理を開始します。"
'処理の繰り返し回数を指定します。
'繰り返し処理が不要な場合は1を代入してください。
target = 1
'処理の開始までの待ち時間を設定します(この間に対象ウィンドウを手動でアクティブにしてもらう。)
WScript.sleep(3000)
Dim i
for i = 1 to target
'-----------------------------------------------
'以下の処理をtargetに代入した回数分繰り返します
'ここ以下に次の形式で処理を記述します。
'WScript.sleep(100)→待ち時間の設定(あくまでキー操作を再現するだけなので、待ち時間をうまく設定しないと意図した通りに動作しません。)
'WSHShell.SendKeys "e"→入力するキーの指定
'以下メモ帳を起動するサンプル。
WScript.sleep(100)
WSHShell.SendKeys "^({ESC})"
WScript.sleep(100)
WSHShell.SendKeys "r"
WScript.sleep(100)
Dim sampletext
sampletext = "notepad.exe"
WSHShell.SendKeys sampletext
WScript.sleep(100)
WSHShell.SendKeys "{ENTER}"
'-----------------------------------------------
'以上の処理をtargetに代入した回数分繰り返します
next
msgbox "指定回数=" & target & "回の処理を完了しました。"
'↑の行をコメントアウトして、次のブロックを、アンコメントすると、全ての処理が終了後Windowsをシャットダウンします。
'-----------------------------------------------
'Dim objShut
'-----------------------------------------------
'主に使用する命令
'WScript.sleep(1000)
'>キー入力前後の待ち時間を設定します。
' 単位はミリ秒なので、1000で1秒待つ。
'WSHShell.SendKeys "e"
'「""」内でキーを指定。エンターALT等その他の特殊キーの
'指定方法についてはファイルの末尾に記載(予定)
'-----------------------------------------------
'シェルのオブジェクトをセット(キーマクロを記述するための呪文)
Set WSHShell = WScript.CreateObject("WScript.Shell")
'繰り返し回数を指定する変数を宣言
Dim target
'ユーザに警告
msgbox "WSHで処理を実行します、手動で操作等を行うと誤作動の恐れがあるので、操作を行わないでください。OKボタンを押したあと3秒後に処理を開始します。"
'処理の繰り返し回数を指定します。
'繰り返し処理が不要な場合は1を代入してください。
target = 1
'処理の開始までの待ち時間を設定します(この間に対象ウィンドウを手動でアクティブにしてもらう。)
WScript.sleep(3000)
Dim i
for i = 1 to target
'-----------------------------------------------
'以下の処理をtargetに代入した回数分繰り返します
'ここ以下に次の形式で処理を記述します。
'WScript.sleep(100)→待ち時間の設定(あくまでキー操作を再現するだけなので、待ち時間をうまく設定しないと意図した通りに動作しません。)
'WSHShell.SendKeys "e"→入力するキーの指定
'以下メモ帳を起動するサンプル。
WScript.sleep(100)
WSHShell.SendKeys "^({ESC})"
WScript.sleep(100)
WSHShell.SendKeys "r"
WScript.sleep(100)
Dim sampletext
sampletext = "notepad.exe"
WSHShell.SendKeys sampletext
WScript.sleep(100)
WSHShell.SendKeys "{ENTER}"
'-----------------------------------------------
'以上の処理をtargetに代入した回数分繰り返します
next
msgbox "指定回数=" & target & "回の処理を完了しました。"
'↑の行をコメントアウトして、次のブロックを、アンコメントすると、全ての処理が終了後Windowsをシャットダウンします。
'-----------------------------------------------
'Dim objShut
'Dim objOS
'Dim objSystem
'Set objShut = GetObject("winmgmts:{impersonationLevel = impersonate, (Shutdown)}")
'Set objOS = objShut.InstancesOf("Win32_OperatingSystem")
'For Each objSystem In objOS
' objSystem.Win32Shutdown 8
'Next
'-----------------------------------------------
'-----------------------------------------------
'特殊なキー一覧
'単体指定は次のように記述。
'BackSpace:{BS}
'TAB:{TAB}
'Ctrl+Break:{BREAK}
'Enter:{ENTER}
'Home:{HOME}
'End:{END}
'Esc:{ESC}
'Help:{HELP}
'Ins:{INSERT}
'Del:{DELETE}
'↑:{UP}
'↓:{DOWN}
'←:{LEFT}
'→:{RIGHT}
'PrintScreen:{PRTSC}
'PageDown:{PGDN}
'PageUp:{PGUP}
'CapsLock:{CAPSLOCK}
'NumLock:{NUMLOCK}
'ScrollLock:{SCROLLLOCK}
'F1:{F1}
'~中略~
'F16:{F16}
'ALT+全角/半角:{IME}
'Shift、Ctrl、Altを押した状態で、他のキーを押す指定は()で囲む。
'例えば、Altキーを押しながら'f'とs'を押す場合、「'%(fs)'」とする。
'Dim objSystem
'Set objShut = GetObject("winmgmts:{impersonationLevel = impersonate, (Shutdown)}")
'Set objOS = objShut.InstancesOf("Win32_OperatingSystem")
'For Each objSystem In objOS
' objSystem.Win32Shutdown 8
'Next
'-----------------------------------------------
'-----------------------------------------------
'特殊なキー一覧
'単体指定は次のように記述。
'BackSpace:{BS}
'TAB:{TAB}
'Ctrl+Break:{BREAK}
'Enter:{ENTER}
'Home:{HOME}
'End:{END}
'Esc:{ESC}
'Help:{HELP}
'Ins:{INSERT}
'Del:{DELETE}
'↑:{UP}
'↓:{DOWN}
'←:{LEFT}
'→:{RIGHT}
'PrintScreen:{PRTSC}
'PageDown:{PGDN}
'PageUp:{PGUP}
'CapsLock:{CAPSLOCK}
'NumLock:{NUMLOCK}
'ScrollLock:{SCROLLLOCK}
'F1:{F1}
'~中略~
'F16:{F16}
'ALT+全角/半角:{IME}
'Shift、Ctrl、Altを押した状態で、他のキーを押す指定は()で囲む。
'例えば、Altキーを押しながら'f'とs'を押す場合、「'%(fs)'」とする。
'Shift:+
'Ctrl:^
'Alt:%
'繰り返しの指定は、スペースのあとに数値を記入。
'例:'{a 5}'→'a'を5回。
'【参考資料】
'http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wsMthSendKeys.asp
'Ctrl:^
'Alt:%
'繰り返しの指定は、スペースのあとに数値を記入。
'例:'{a 5}'→'a'を5回。
'【参考資料】
'http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wsMthSendKeys.asp