6

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;

ここまで----------------------------------------------------
 
参考まで。

回答した質問

回答とコメントは、会員登録(無料)で閲覧できるようになります。
会員登録(無料)する