OASYSでスクリプトを利用した、定型処理について説明します。
スクリプトを利用した定型処理を作る
OASYSでの一連の操作をスクリプトとして記録します。
データベースからのデータの取り出しを含む一連の操作を、OASYSのスクリプト記録機能で、スクリプトとして記録します。
スクリプト記録を修正して操作を簡単にします。
記録したスクリプトに問い合わせ業務の選択を直接記述して、新しいスクリプトを作成します。
スクリプトの修正例(OASYSの場合)
以下のスクリプトは、スクリプトの中の「ActiveWindow」関数までは、Navigatorが提供するスクリプトから複写しています。ただし、Execute関数で実行するコマンド[Open()]に、パラメタとして、問い合わせファイル名を指定するよう修正しています。こうすると、Navigatorの問い合わせファイルを選択するための画面は表示されません。
ActiveWindow関数より下の文は、記録したスクリプトから複写しています。
===================================================================================
var DDE_ID;
var OAS_ID;
var PASTE_STYLE;
var PROF_ID;
var EXEC_OPEN;
var EXEC_COPY;
var I;
var disp;
if(Script.ErrorDisplay==FALSE){
disp=FALSE;
}
else{
disp=TRUE;
}
Script.ErrorDisplay=FALSE;
OAS_ID = GetObjectID("OASYS");
PROF_ID = "SymNavi.exe".Open("-d");
DDE_ID= DDEInitiate("SymNavi","Macro");
if(DDE_ID == null){
ActivateWindow(OAS_ID);
Script.ErrorDisplay=disp;
return;
}
EXEC_OPEN = DDE_ID.Execute("[Open(\"h:\\hanbai\\sale.rne\")]");
if(EXEC_OPEN == null){
DDE_ID.Terminate();
ActivateWindow(OAS_ID);
Script.ErrorDisplay=disp;
return;
}
EXEC_COPY = DDE_ID.Execute("[Copy()]");
if(EXEC_COPY == null){
DDE_ID.Execute("[Close()]");
DDE_ID.Terminate();
ActivateWindow(OAS_ID);
Script.ErrorDisplay=disp;
return;
}
for(i=0;i<6;i++){
if(ClipboardPaste()!=null){
break;
}
Sleep(1);
}
ActivateWindow(OAS_ID);
貼付け(ダイアログ表示:0,データ種類:1);
DDE_ID.Execute("[Close()]");
DDE_ID.Terminate();
ActivateWindow(OAS_ID);
Script.ErrorDisplay=disp;
後半消去();
カーソル上移動(行:19,余白移動:1);
カーソル下移動(行:4,余白移動:1);
罫線消右(回:4);
カーソル下移動(行:2,余白移動:1);
罫線消左(回:4);
カーソル下移動(行:4,余白移動:1);
罫線消右(回:4);
カーソル下移動(行:2,余白移動:1);
罫線消左(回:4);
カーソル下移動(行:2,余白移動:1);
罫線消右(回:4);
return;
===================================================================================