UiPath:Access VBAの実行方法「プロセスを開始」(マクロ経由で実行)と終了方法


  • UiPathのシナリオで、現在使っているAccessのVBAをそのまま使いたい。
  • UiPathにExcelのマクロ実行はあるのに、Accessはないのでどうにか使えないか?
 「UiPath」を使い始めて、現状のAccessなどのツールも生かしつつフローを作ろうと思ったとき、Excelのマクロを使うアクティビティは存在するのに、Accessはないということで困ったことがあります。
その際に以下の方法でVBAを実行できるようになったので、その方法を記事にしておきます。

◆AccessVBAの実行方法

 結論から言うと、VBAは直接は実行できませんが、「プロセスを開始」というアクティビティでAccessの「マクロ」を呼び出す方法で実行することができました。
 「マクロ」で「VBA」を実行するという感じになるので、ひと手間かかりますが、これでUiPathからVBAを実行できるようになります。

(0)事前準備・VBAを呼び出すマクロの作成

 UiPathから以下のAccessのVBAを実行するために、UiPathの「プロセスを開始」から呼び出す「マクロ」を作成します。
 マクロで実行させるVBAの内容は、CSVファイルを「サンプル1」テーブルにインポートするもので作っています。

■このVBAを呼び出すマクロを以下のように作って保存します。

これらの事前準備が終わったら、このマクロをUiPathで実行できるようにしていきます。



(1)アクティビティの追加

UiPathからAccessのマクロを実行するため、「プロセスを開始」アクティビティをドラッグ&ドロップします。
場所:「システム」⇒「アプリケーション」⇒「プロセスを開始」

(2)「プロセスを開始」の設定

上には実行するAccessファイルを指定します。
下には引数を指定します。

■設定の内容
パス(1行目) 実行したいAccessのパスをファイル名まで入れて書きます。
アプリケーション引数(2行目) ここでは「”/x テスト用マクロ”」としてマクロを呼び出すようにしています。
Accessでは「/x」(スイッチと呼ばれる値)で、マクロを呼び出せます。「/x△テスト用マクロ」(△は半角スペース)とスイッチとの間には半角スペースを入れます。
なおWordやパワポではスイッチが異なります。(※1)
※1)詳細は「Microsoft Office 製品のコマンド ライン スイッチ」で確認することができます。

◆Accessを終了する処理

UiPathからマクロを実行した後、UiPathでAccessを終了させるよりも、Accessのマクロの一連の流れの中でAccessを終了した方がシンプルになります。
そこでここでは以下のようにマクロの最後に終了処理を組み込んでいます。

Accessマクロに組み込む

Accessのマクロに以下のように終了処理を組み込みます。

以上、簡単ですがUiPathからAccessのVBAを実行する方法でした。


おすすめ