【コラム】【WinActor自動化】フローティングライセンス版初期設定用スクリプト例
WinActorはアプリの自動化ができますが、WinActor自体の自動化は別の方法が必要となります。
今回は、フローティングライセンス版の設定自動化を例にして、
WinActorの操作を自動化するにはどうしたらいいかを見ていきます。
先に結論を書くと、WinActorの操作はエミュレーションにて実行するのが良いと考えます。
ただし、VBSではうまく操作ができないので、JavascriptやExcelを利用します。
Excelを利用するのは、Javascriptで入力できないキー(Windowsキー)を操作する為です。
以下のスクリプトを適当なファイル名「WinActor設定.js」などで
フローティングライセンス版 Ver.6.3のインストールフォルダへ保存し、
実行を行うと初期設定が可能となります。
アレンジをすれば思った操作ができるはずです。
[サーバアドレス]はサーバのアドレスとなります。
例:
sh.SendKeys( "https://192.168.1.1" );
[接続時パスワード]はサーバへ接続するためのパスワードとなります。
例:
sh.SendKeys( "winactor" );
ここから----------------------------------------------------
//
// WinActorアプリケーション操作
//
var sh = new ActiveXObject( "WScript.Shell" );
var excel = WScript.CreateObject("Excel.Application");
var KEY_ALT = "%";
var KEY_ARROW_DOWN = "{DOWN}";
var KEY_ARROW_RIGTH = "{RIGHT}";
var KEY_ENTER = "{ENTER}";
var KEY_SPACE = " ";
var KEY_TAB = "{TAB}";
var KEY_SHIFTTAB = "+{TAB}";
// ウィンドウを全て最小化
excel.ExecuteExcel4Macro( "CALL(\"user32\",\"keybd_event\",\"JJJJJ\",91,0,1,0)" );
excel.ExecuteExcel4Macro( "CALL(\"user32\",\"keybd_event\",\"JJJJJ\",77,0,1,0)" );
excel.ExecuteExcel4Macro( "CALL(\"user32\",\"keybd_event\",\"JJJJJ\",77,0,3,0)" );
excel.ExecuteExcel4Macro( "CALL(\"user32\",\"keybd_event\",\"JJJJJ\",91,0,3,0)" );
// WinActor起動
sh.Run('.\\WinActor.exe');
while(true){
if (sh.AppActivate("WinActor")==true){
break;
};
WScript.Sleep( 300 );
};
// メッセージを閉じる
sh.AppActivate( "WinActor" );
WScript.Sleep( 300 );
sh.SendKeys( KEY_ENTER );
WScript.Sleep( 300 );
// 設定画面表示
sh.AppActivate( "新しいファイル[閲覧] - WinActor" );
WScript.Sleep( 300 );
sh.SendKeys( KEY_ALT );
WScript.Sleep( 300 );
sh.SendKeys( KEY_SPACE );
WScript.Sleep( 300 );
sh.SendKeys( KEY_ARROW_DOWN );
WScript.Sleep( 300 );
sh.SendKeys( KEY_ARROW_DOWN );
WScript.Sleep( 300 );
sh.SendKeys( KEY_ENTER );
WScript.Sleep( 300 );
sh.AppActivate( "バージョン情報" );
sh.SendKeys( KEY_TAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_TAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_TAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_ENTER );
WScript.Sleep( 300 );
// サーバ設定
sh.AppActivate( "サーバ接続設定" );
sh.SendKeys( KEY_TAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_SPACE );
WScript.Sleep( 300 );
sh.SendKeys( KEY_SHIFTTAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_ARROW_RIGTH );
WScript.Sleep( 300 );
sh.SendKeys( KEY_ARROW_RIGTH );
WScript.Sleep( 300 );
sh.SendKeys( KEY_TAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_TAB );
WScript.Sleep( 300 );
sh.SendKeys( "[サーバアドレス]" );
WScript.Sleep( 300 );
sh.SendKeys( KEY_TAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_TAB );
WScript.Sleep( 300 );
sh.SendKeys( "[接続時パスワード]" );
WScript.Sleep( 300 );
sh.SendKeys( KEY_SHIFTTAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_SHIFTTAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_SHIFTTAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_SHIFTTAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_SHIFTTAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_ENTER );
WScript.Sleep( 300 );
sh.AppActivate( "WinActor" );
sh.SendKeys( KEY_ENTER );
WScript.Sleep( 300 );
sh.AppActivate( "WinActor" );
sh.SendKeys( KEY_ENTER );
WScript.Sleep( 300 );
sh.AppActivate( "バージョン情報" );
sh.SendKeys( KEY_TAB );
WScript.Sleep( 300 );
sh.SendKeys( KEY_ENTER );
WScript.Sleep( 300 );
// WinActor終了
sh.AppActivate( "新しいファイル[閲覧] - WinActor" );
sh.SendKeys( KEY_ALT + "{F4}" );
WScript.Sleep( 300 );
sh.AppActivate( "WinActor" );
sh.SendKeys( KEY_ENTER );
WScript.Sleep( 300 );
// 最小化したウィンドウを元に戻す
excel.ExecuteExcel4Macro( "CALL(\"user32\",\"keybd_event\",\"JJJJJ\",160,0,1,0)" );
excel.ExecuteExcel4Macro( "CALL(\"user32\",\"keybd_event\",\"JJJJJ\",91,0,1,0)" );
excel.ExecuteExcel4Macro( "CALL(\"user32\",\"keybd_event\",\"JJJJJ\",77,0,1,0)" );
excel.ExecuteExcel4Macro( "CALL(\"user32\",\"keybd_event\",\"JJJJJ\",77,0,3,0)" );
excel.ExecuteExcel4Macro( "CALL(\"user32\",\"keybd_event\",\"JJJJJ\",91,0,3,0)" );
excel.ExecuteExcel4Macro( "CALL(\"user32\",\"keybd_event\",\"JJJJJ\",160,0,3,0)" );
// オブジェクトを解放
excel = null;
sh = null;
ここまで----------------------------------------------------
参考まで。