← 手順一覧へ戻る
Power Automate DesktopExcel初心者向けよく使う

Excelマクロを引数付きで実行する

準備済みのExcelマクロへ、文字と数値の引数を渡して実行します。

画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。

実行前に確認

  • Windows版ExcelがインストールされたPCで使います。例の C:\PA フォルダーと入力ファイルを先に用意してください。
  • この手順は既存のVBAを呼び出すもので、VBA本体を自動生成するものではありません。
  • 信頼できるマクロだけを実行し、組織のマクロ制限を勝手に解除しません。保存先はマクロを保持する.xlsmにします。

1使うアクション

  1. アクション 1Excel の起動
  2. アクション 2Excel マクロの実行
  3. アクション 3Excel を閉じる

表で見る入力と処理結果

架空データ

セルの変化はVBAの中身で決まるため、この例ではマクロへ渡す値を表で確認します。

Desktop:Excelブック/ワークシート
C:\PA\帳票.xlsm(%ExcelInstance%)

以下は手順に沿った期待値です。実際のPower Automate・Excel環境で実行して確認した結果ではありません。セルや行の着目箇所には「●」を付けています。

呼び出し前の準備

ブック内の標準モジュールに、この宣言のマクロを準備します。セルの表ではなく呼び出し条件です。
項目設定例
ブック帳票.xlsm
マクロの宣言Public Sub 作成(部署 As String, 件数 As Long)
PADのマクロ欄● 作成;営業;3
↓ 処理する行・列/設定

「Excel マクロの実行」のマクロ欄に「作成;営業;3」。セルや範囲の指定はありません。

渡される引数

セミコロンの後ろを、VBAの宣言順に対応させます。
位置渡す値VBA側の引数
マクロ名作成呼び出す手続き
第1引数● 営業部署 As String
第2引数● 3件数 As Long
結果の見方

「部署=営業、件数=3」で準備済みマクロを呼び出します。書き換わるシート・セル・値はVBA本体が未提示のため確定できません。

  • このフロー自体にセルへ書き込むアクションはありません。マクロが元シートを変更するかどうかも、その実装次第です。
  • マクロ本体は自動生成されません。信頼できるマクロだけを実行し、組織の制限を勝手に解除しません。
  • 成功後は.xlsmのまま保存します。失敗した場合の結果を成功扱いにしません。

図で見る処理のイメージ

概念図

準備済みのExcelマクロへ、文字と数値の引数を渡して実行します。

  1. 準備

    xlsmに作成マクロ

  2. 引数を渡す

    部署=営業、件数=3

  3. 成功時

    マクロの処理結果を保存

結果の例

マクロ名だけでなく、必要な引数も渡せます。

設定例に沿った成功時の概念図です。実際の画面や実行結果ではなく、成功・配信を保証するものではありません。

設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。

2実際の設定内容

入力する値・操作手順を確認する3ステップの設定と確認方法
  1. 1

    信頼できる C:\PA\帳票.xlsm に、標準モジュールの Public Sub 作成(部署 As String, 件数 As Long) が用意されている前提です。これをExcelInstanceで開きます。

  2. 2

    Excel マクロの実行:%ExcelInstance%、マクロ欄に「作成;営業;3」を入力します。マクロ名と引数はセミコロンで区切り、宣言順に並べます。

  3. 3

    成功後に %ExcelInstance% を「ドキュメントを保存する」で閉じます。

Microsoft公式ページで確認する