UiPath Excel(クラシック) マクロを実行 アクティビティ

2022年1月1日

(プロジェクト設定:モダンExcelの設定でクラシックを使う場合のアクティビティです)

「マクロを実行」はマクロ(VBAのコード)が

Excelのブック(ファイル)に保存されている場合に

それを起動するためのアクティビティです。

これにより既存のマクロ資産を有効活用することが可能です。

なお類似機能の「VBAの呼び出し」アクティビティは

ブックとマクロが異なるファイルの場合に使用しますが、

このアクティビティは同一の場合に使用します。

アクティビティの使い方

まず「Excel アプリケーション スコープ」を設置しブックのパスにマクロ有効ブックを指定します。

そして「Excel アプリケーション スコープ」の中に「マクロの実行」をドラッグします。

「Excel アプリケーション スコープ」を設置しブックのパスにマクロを動作させるファイルを指定する図解

そして必要なプロパティを設定していきます。

プロパティ設定のキャプチャ

追加設定の必要な項目は「マクロ名」のみで

引数も戻り値もないVBAであれば、それだけで動作します。

実行するマクロの中身は↓のようになっています。

Public Function Main(address as string , value as string)
    Range(address).Value = value
    
    Main = "完了"
End Function

一つ目の引数に編集対象セルを指定し、二つ目の引数に設定値を指定します。

System.Collections.Generic.IEnumerable型変数で指定しますが、

今回は{"A1","VBA実行"}とリテラルで指定します。

これによりA1セルにVBA実行と入力されます。

最後に戻り値として「完了」を返し、その戻り値を出力値プロパティのObject型変数に指定し

メッセージボックスで表示します。(他の多くの場合ではObject型から変換する必要があります)

メッセージボックスアクティビティのキャプチャ

このツールを空のブックに対して実行すると一つ目の引数のセルに二つ目の引数の値が設定され

マクロ実行結果キャプチャ

戻り値である"完了"がメッセージボックスに表示されます。

メッセージボックスのキャプチャ

注意点

変数名やメソッド名に日本語が混じっているとVBAが起動できない場合があります。

そうなった場合はVBAのコードを全て英数字に書き換えてみましょう。

実行エラーのキャプチャ

プロパティ

共通

共通のキャプチャ

「表示名」はデザイナーパネルに反映されます。

デザイナーパネル上の表示例のキャプチャ

通常表示ではマクロ名が表示されるため

それがどんな処理をしているかを反映した名前になっていれば

表示名は変える必要性は低いです。

「エラー発生時に実行を継続」はマクロがエラーした時の動作を指定します。

動作を継続したい場合はTrueを、そこで終了したい場合はFalseを指定します。(例外発生)

発生した例外を受け取ってエラー処理を行う場合は

トライ キャッチの中にアクティビティを設置します。

入力

項目説明
マクロパラメーターマクロメソッドに引数がある場合、
System.Collections.Generic.IEnumerable型で指定します。
引数の順番で指定します。
{“A1″,"VBA実行"}のようにリテラル(固定値)で指定することも可能です。
マクロ名実行するマクロ名を指定します。

出力

エントリメソッドがFunctionの場合、処理結果(戻り値)が存在します。

そ場合は受け取り用の変数をObject型で指定します。

(利用できない場合あるためObject型から変換する必要があります)

出力のキャプチャ
受け取り用変数のキャプチャ

その他

UiPathのログに引数や変数の値が表示されるかを指定します。

機密性の高い情報を取り扱う場合にのみチェックする必要があります。

プライベートのキャプチャ

関連記事

モダン設定の類似アクティビティ

UiPath Excel関連アクティビティの記事一覧