Power Automate DesktopでExcelのマクロ(VBA)を実行する方法

IT

PAD経由でExcelマクロを実行する方法です。公式

スポンサーリンク

Excelマクロの実行

マクロの準備

' vba
Sub macro1()
' シートを指定
Worksheets("Sheet1").Select
' セルに書き込み
Range("A1").Value = "PAD TEST"
End Sub
開くExcel側で何かマクロを作っておきます。マクロはノーコードでも作れます。
power automate desktop Excel マクロの実行4
一度実行し、マクロの動作確認をしておきます。

アクションの作成

power automate desktop Excel マクロの実行1
Excelマクロの実行はExcel→詳細内にあります。
power automate desktop Excel マクロの実行2
何か変数(対象のExcel)を指定する必要があるので、Excelの起動で作られたインスタンスを使用します。ひとつしか選べるインスタンスがなければ自動で選択されます。

なお、Excelの起動のアドインとマクロの読み込みはOFFでもマクロが実行できます。この件はたぶんそのうち検証します。

マクロの実行

power automate desktop Excel マクロの実行3
実行するプロシージャ名(Subの後にあるマクロの名前)をマクロに書き込みます。
プロシージャ名はマクロ一覧でも確認できます。
power automate desktop Excel マクロの実行4
保存して実行すると、Excelが立ち上がりマクロが実行されます。

マクロに引数を渡す

' vba
Sub macro1(rng As String, val As String)
Worksheets("Sheet1").Select
Range(rng).Value = val
End Sub
マクロに引数を設定しておき、PADから引数を指定して実行することもできます。
power automate desktop Excel マクロの実行6
引数はプロシージャ名の後に;で区切って記述します。
ここではmacro1;A1;pad_testとし、マクロの引数rngにA1、valにpad_testをそれぞれ渡しています。
power automate desktop Excel マクロの実行5
実行すると、rngに指定したセルにvalで指定した値が書き込まれます。

エラー発生時

pad マクロの実行エラー1
左下のエラー発生時をクリックすることで、エラー発生時の処理を記述できます。
pad マクロの実行エラー2
使い方はリンク先参照。「詳細」ではマクロが実行できない場合のみ指定できます。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
Microsoft Power Automate Desktop(PAD)アクション、使い方一覧
Power Automate Desktopの使い方を機能・分類別に参照できるまとめです。

コメント