Power Automateを動画で学ぼう!Udemyキャンペーン中

PADでExcel マクロに引数を渡して実行する。

目次

この記事について

じょじお

この記事ではPower Automate Desktop(以下:pad)でExcel マクロを実行する方法について解説します。

Power Automate Desktopの「Excel マクロ」アクションの制約

じょじお

PADでExcelマクロを実行する場合、通常のマクロ実行と違い下記のような制約があるので注意が必要です。

memo
  • 標準モジュール内にあるSubプロシージャか、Functionプロシージャのみ実行できる。
    • Sheetsオブジェクトやクラスモジュールのプロシージャは実行できない。
  • VBAからの戻り値はPADで直接受け取れない。ファイルか何かを経由するなど工夫する必要がある。
  • Private句を使ったプロシージャを呼び出すことは可能。
  • PADからVBAに引数を渡すことは可能

テスト用Excel ファイルの準備

STEP
テスト用Excel ファイルの準備

▼こんな感じの表を作りました。

テストデータ
じょじお

PADから2つの引数を受け取って、A4セルとB4セルに転記し、VBAによって合算し結果をC4セルに受け取るという流れです。

STEP
テスト用VBAマクロの作成
じょじお

下記のような「main」という名前のsubプロシージャを作りました。

Sub main(num1 As Integer, num2 As Integer)
    With ThisWorkbook.Worksheets(1)
        .Range("A4").Value = num1
        .Range("B4").Value = num2
        .Range("C4").Value = num1 + num2
    End With
End Sub

step1で作成したExcel ファイルに上記のコードを記述してマクロ形式拡張子でExcel ファイルを保存します。

保存したファイルの場所を覚えておいてくださいね。

Power automate desktopフローを作成します。

じょじお

追加するアクションは2つだけです。

STEP
「Excelの起動」アクションを追加します。
Power automate desktop Excelの起動アクション
Power automate desktop Excelの起動アクション
  • Excelの起動
    • 次のドキュメントを開く
  • 読み取り専用として開く
    • 今回はマクロで書き込みを行うのでチェックをオフにします。

※「アドインとマクロの読み込み」にチェックを付ける必要はありません。

STEP
「Excelマクロの実行」アクションを追加します。
Power automate desktop Excelマクロの実行

▼パラメータを入力します。

Power automate desktop Excelマクロの実行
  • Excelインスタンス
    • %ExcelInstanse%
  • マクロ
    • 実行するマクロ名とマクロに渡す引数を入力します。

「マクロ」に渡すパラメータの記述方法

引数なし
プロシージャ名

引数1個あり
プロシージャ名;引数

引数複数の場合は複数の数だけセミコロンで区切ります。
プロシージャ名;引数1;引数2;引数3

今回のテストデータの例ではプロシージャ名はmain、引数に2つの数字を受け取る仕様になっているので、main;200;300としました。

じょじお

マクロに渡す引数は、マクロに記述された引数の数とデータ型を一致させるように注意しましょう。

STEP
フローを実行します。
Excelテストデータ

PADから引数200と300を渡し、VBA内で合算した結果を出力できました。うまく連携できていますね。

まとめ

  • Power automate desktopでExcelマクロを実行するには「Excelマクロの実行」アクションを使用する。
  • PADからExcelマクロに引数を渡すことができる。プロシージャ名;引数1;引数2;引数3のように記述する。
じょじお

当サイトではPower Automate DesktopなどのRPA技術解説をノンプログラマー向けに行っています。Twitterで更新情報を呟いているのでよろしければフォローお願い致します!

Power Automate Desktopおすすめ入門教材です。

▼いまのところ唯一の日本語書籍 Power Automate Desktop入門書です

▼動画で学びたい方はこちらのオールインワンで学べる講座がおすすめです。

ノンプログラマーでも自動化スキルを身につける。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
目次
閉じる