ray88’s diary

お仕事で困ったとき用の自分用の覚書

UiPath Access VBAを実行する方法

■結論
UiPathでAccess VBAを実行するには以下の順番で呼び出す
「プロセスを開始」でマクロ呼び出し→マクロでFunctionプロシージャ呼び出し→Functionプロシージャから実行対象のSubプロシージャを呼び出し

■概要
UiPathより直接AccessVBAを実行する方法はないため(自分が探した限りでは)以下のステップでVBAを実行する
①「プロセスを開始(StartProcess)」アクティビティでAccessマクロを実行する
②実行するマクロの内容を「モジュールを実行」で対象のモジュールを呼び出すようにする。
※ただし、Accessマクロの「モジュールを実行」で呼び出せるのはFunctionプロシージャのみ。Subプロシージャは呼び出せない。よって、Subプロシージャを呼び出すには
該当のSubプロシージャを呼び出すFunctionプロシージャを作成しなければならない。

■以下詳細手順

Accessの標準モジュールに対象プロシージャを呼び出すFunctionプロシージャを作成する

f:id:ray88:20211006222324p:plain

②Functionプロシージャを呼び出すマクロを作成する

f:id:ray88:20211006223453p:plain

③「プロセスを開始(StartProcess)」でFunctionプロシージャを呼び出すマクロを実行
f:id:ray88:20211006221557p:plain

※/xはMsAccess起動スイッチのコマンド

support.microsoft.com

■以下参考URL

自動で閉じるメッセージボックスを表示する方法 - [VBA,VB.NET,C#,PHP]プログラムTips集

【UiPath】ファイル名を指定して実行 | みっどないとぱーぷる

Accessのマクロでモジュールを実行させたい。 -Access2002を勉強中の初- Access(アクセス) | 教えて!goo

【UiPath】バッチファイルを実行する方法 - RPA Navi

Ms Accessの起動スイッチと天才的としかいいようのない裏技 - Qiita

Access 2010 later コマンドラインから最適化する - Access2016は要注意 - Qiita