ロボットでExcelマクロを実行する方法

フォローする

DSにはマクロの実行を行うための標準機能は実装されていませんが、下記2通りの方法で実行可能です。

・Device Automation(Desktop Automation)で実行する。
・「コマンドライン実行(Execute Command Line)」ステップを使用して実行する。

※ロボットでマクロの実行を行う場合は下記のリンクを一読してください。
・「Windowsのサービスに登録したRSでExcelマクロを実行させる設定
・「BizRobo!でExcelマクロを利用する上で必要な考慮ポイント

 
下記は「コマンドライン実行(Execute Command Line)」ステップを使用した場合の方法です。

DSでマクロを実行させるためにはVBSファイルを作成する必要があります。
このVBSファイルは事前に作成をするか、DSの「ファイル出力(Write File)」ステップを使用し、ロボット実行の度に作成・削除を繰り返す方法があります。
VBSファイル中にはExcelファイルのオープン、実行するマクロの指定、戻り値の設定などを記述します。

VBSファイルが用意出来たら「コマンドライン実行(Execute Command Line)」ステップでVBSを実行するためのコマンドを記述・実行します。
なお、「コマンドライン実行(Execute Command Line)」ステップはコマンドの実行を行うだけのステップなので、コマンドの結果がエラーでもDSやMCのログにエラーが表示されることはありません。
しかし、「アクション」タブの「終了コードをここに保存」項目を使用して戻り値を変数に格納することで、後続ステップで「変数判定(Test Variables)」ステップなどを使用し、実行結果をログに記述することが可能です。

32112-1.png


VBSや「コマンドライン実行(Execute Command Line)」ステップで記述する内容は使用するマクロの記述内容や使用するファイルの数などによって変わります。

下記の条件の元、実行できる簡単なVBSとコマンドの例を記載します。
※VBSやコマンドの内容に関してはサポート対象外です。お客様責任で作成・実行をお願いします。


<条件>
・マクロが記述されたExcel以外に使用するファイルが無い
・戻り値が設定されていない

■VBSコード

Dim excelApp : Set excelApp = CreateObject("Excel.Application")
excelApp.Visible = False

Dim targetFile : targetFile = WScript.Arguments(0)
Dim targetMacro : targetMacro = Wscript.Arguments(1)
excelApp.Workbooks.Open targetFile
excelApp.Run targetMacro
excelApp.Quit

32112-2.png

 

■実行コマンド

cscript vbsファイルの絶対パス ”Excelファイルの絶対パス” ”実行するマクロ名”

<例>

cscript C:\Users\Public\Desktop\Desktop\execMacro.vbs"C:\Users\Public\Desktop\Desktop\Book1" "macro1"

 

7人中6人がこの記事が役に立ったと言っています

コメント

0件のコメント

ログインしてコメントを残してください。