Excelマクロを引数付きで実行する
準備済みのExcelマクロへ、文字と数値の引数を渡して実行します。
画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。
実行前に確認
- Windows版ExcelがインストールされたPCで使います。例の C:\PA フォルダーと入力ファイルを先に用意してください。
- この手順は既存のVBAを呼び出すもので、VBA本体を自動生成するものではありません。
- 信頼できるマクロだけを実行し、組織のマクロ制限を勝手に解除しません。保存先はマクロを保持する.xlsmにします。
1使うアクション
- アクション 1Excel の起動
- アクション 2Excel マクロの実行
- アクション 3Excel を閉じる
表で見る入力と処理結果
架空データセルの変化はVBAの中身で決まるため、この例ではマクロへ渡す値を表で確認します。
Desktop:Excelブック/ワークシート
C:\PA\帳票.xlsm(%ExcelInstance%)
以下は手順に沿った期待値です。実際のPower Automate・Excel環境で実行して確認した結果ではありません。セルや行の着目箇所には「●」を付けています。
呼び出し前の準備
| 項目 | 設定例 |
|---|---|
| ブック | 帳票.xlsm |
| マクロの宣言 | Public Sub 作成(部署 As String, 件数 As Long) |
| PADのマクロ欄 | ● 作成;営業;3 |
「Excel マクロの実行」のマクロ欄に「作成;営業;3」。セルや範囲の指定はありません。
渡される引数
| 位置 | 渡す値 | VBA側の引数 |
|---|---|---|
| マクロ名 | 作成 | 呼び出す手続き |
| 第1引数 | ● 営業 | 部署 As String |
| 第2引数 | ● 3 | 件数 As Long |
「部署=営業、件数=3」で準備済みマクロを呼び出します。書き換わるシート・セル・値はVBA本体が未提示のため確定できません。
- このフロー自体にセルへ書き込むアクションはありません。マクロが元シートを変更するかどうかも、その実装次第です。
- マクロ本体は自動生成されません。信頼できるマクロだけを実行し、組織の制限を勝手に解除しません。
- 成功後は.xlsmのまま保存します。失敗した場合の結果を成功扱いにしません。
図で見る処理のイメージ
概念図準備済みのExcelマクロへ、文字と数値の引数を渡して実行します。
準備
xlsmに作成マクロ
引数を渡す
部署=営業、件数=3
成功時
マクロの処理結果を保存
マクロ名だけでなく、必要な引数も渡せます。
設定例に沿った成功時の概念図です。実際の画面や実行結果ではなく、成功・配信を保証するものではありません。
設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。
2実際の設定内容
入力する値・操作手順を確認する3ステップの設定と確認方法
- 1
信頼できる C:\PA\帳票.xlsm に、標準モジュールの Public Sub 作成(部署 As String, 件数 As Long) が用意されている前提です。これをExcelInstanceで開きます。
- 2
Excel マクロの実行:%ExcelInstance%、マクロ欄に「作成;営業;3」を入力します。マクロ名と引数はセミコロンで区切り、宣言順に並べます。
- 3
成功後に %ExcelInstance% を「ドキュメントを保存する」で閉じます。
- 対象環境
- Power Automate for desktop(Windows)
- 更新日
- 2026年10月11日