就業先では、Excelマクロを動かすRPAが複数存在します。しかし、BizRobo!ではなく別のRPAツールを用いてマクロを動かしています。
もしBizRobo!でExcelマクロを動かす場合は、どのような方法があるか調べてみたくなりました。
今回は、BizRobo!でマクロを動かす方法について、共有いたします。
※時間が経過して変わってしまった箇所や間違っている箇所、不適切な表現があるかもしれませんが、その時は都度修正いたしますので、ご指摘いただけると幸いです。
BizRobo!ナレッジベースにある方法
不明点があれば、まずRPAテクノロジーズ株式会社が提供しているBizRobo!ナレッジベースを調べることがとても役に立ちます。
BizRobo!ナレッジベースとは、BizRobo!のハードウェア要件からGmailの受信トレイを確認する方法までBizRobo!のありとあらゆるナレッジが集積されているサイトになります。
BizRobo!ナレッジベースで調べてみたところ、BizRobo!でExcelマクロを実行する方法は下記が参考になりました。
ロボットでExcelマクロを実行する方法
【解決策】BizRobo!でExcelマクロを利用する上で必要な考慮ポイント
Windowsのサービスに登録したRSでExcelマクロを実行させる設定
BizRobo!Excelファイルを活用するのに優位性があるツールのため、Excelマクロを動かすには特殊な方法を活用する必要があります。
実際にBizRobo!でExcelマクロを動かしてみた
就業先で試す前に、自分の私用PC(Window10)で試してみることにしました。試してみた方法は下記です。
ロボットでExcelマクロを実行する方法
ただ、私の環境では上記にあるVBSコードでマクロを動かすことができませんでした。そのため、少し修正を加えました。VBSコードは下記になります。
Dim excelApp : Set excelApp = CreateObject("Excel.Application")
excelApp.Visible = False
excelApp.AutomationSecurity = 1 '追加 マクロを有効にする
Dim targetFile : targetFile = WScript.Arguments(0)
Dim targetMacro : targetMacro = WScript.Arguments(1)
Set bk = excelApp.Workbooks.Open(targetFile) '変更 変数に格納
excelApp.Run targetMacro
bk.Save '追加 動かした後のマクロを保存
bk.Close '追加 動かした後のマクロを閉じる
excelApp.Quit
マクロを動かすことで変更が加わっているため、「マクロを保存しますか」というポップアップ画面がでてきます。そのための処理を加えています。
また、BizRobo! PORTALにExcel マクロ呼び出しロボットもあります。Clasicとなっていますが、私の環境でも動かすことができました。処理は、VBSファイルをコマンドライン実行ステップで動かすようにしているものになります。そのため、このサンプルロボットを参考にExcelマクロを動かすロボットを開発することもできます。
※Excelマクロを動かすには、Excelの設定にてマクロを有効にする必要があります。PC環境によっては、Excelの設定でマクロが許可されていない可能性がありますので、設定を変えていいか確認してください。
今の就業先では、ExcelマクロをRPAでどう動かしているのか
補足にはなりますが、今の就業先でExcelマクロをどう動かしているか話したいと思います。
今の就業先では、BizRobo!のDSしか使用していません。
そのためBizRobo!の場合、DAを用いた方法が使えないため、VBSを用いた方法を採用するしかありませんでした。
就業先でも過去には、VBSを用いた方法でExcelマクロを動かしていたようでしたが、今はExcelマクロをBizRobo!で動かすとエラーが発生してしまいます。
仮想マシン(Virtual Machine)上で動かしている影響か、就業先のセキュリティ設定が変わった影響か、それ以外の要因か今でもわかっておりません。
今の就業先では、Automation Anywhereを用いており、そちらはExcelマクロを動かすことができるため、ExcelマクロやVBSを動かす必要のあるRPA開発は、Automation Anywhereで行うようにしています。
最後に
BizRobo!でExcelマクロを実行する方法について、ご紹介しました。
昔はBizRobo!でExcelマクロを動かしていましたが、今はAutomation AnywhereでExcelマクロを動かすような方針となっています。
Excelマクロで動かしていたBizRobo!をAutomation Anywhereで新規開発を行うと工数がかかってしまいます。そのため、BizRobo!で動くように直すことができれば、工数がかからなくて済むかなと思い、調べ始めました。
BizRobo!とExcelマクロについて知見を蓄えるいい機会となりました。このように知見を蓄えていくことが就業先でのRPA開発で役に立っていくのかなと考えています。今回の記事が、RPAのスキル向上で悩んでいる人の為になれば幸いです。
今後もBizRobo!開発に役立つような記事を書いていきます。