Power Automate for desktop

[Power Automate for desktop]他ブックのマクロを実行する方法

2022年1月のアップデートで、「Excel の起動」アクションでExcelファイルを開く際、単一プロセス下でインスタンスをグループ化できるようになりました。

Restructure of Excel instance functionality to support multiple macros

Users will now have the ability to group Excel instances under a single Excel process. This way, Excel instances will be able to reference multiple macros. The ability to launch isolated instances will also remain available.

https://powerautomate.microsoft.com/en-us/blog/power-automate-for-desktop-january-2022-update/ より

これにより他ブックのマクロを参照できるようになっています。
具体的な使用方法は下記の通りです。

他ブックのマクロを実行するフロー

フロー全体

1. Excel の起動

ドキュメントパスを指定して下記マクロ「Macro1」が書かれたファイル(Macro1.xlsm)を開きます(変数:%ExcelInstance%)。
このとき、「詳細」から「新しい Excel プロセスの配下にネストする」オプションをオフにしておきます。

Public Sub Macro1()
  Dim i As Long
  
  For i = 1 To 100000
    ActiveSheet.Cells(i, 1).Value = i
  Next
  ActiveSheet.Range("B1").Value = "Macro1の処理が終了しました。"
End Sub

2. Excel の起動

「Excel の起動」オプションで「空のドキュメントを使用」を指定し、新規ファイルを作成した状態でExcelを起動します(変数:%ExcelInstance2%)。
こちらも「新しい Excel プロセスの配下にネストする」オプションをオフにしておきます。

3. Excel マクロの実行

Macro1.xlsm ファイルで「Macro1」マクロを実行します。

4. Excel マクロの実行

新規作成したファイルで Macro1.xlsm ファイルの「Macro1」マクロを実行します。
このとき「マクロ」オプションで「Macro1.xlsm!Macro1」のように、マクロが書かれたファイルを指定します。

5. Excel を閉じる

処理が終わったらExcelを閉じます。

実行画面

これまでの「Excel の起動」アクションでは、複数個Excelを起動した場合それぞれ別のプロセスとして立ち上がっていたため、上記のような形で別ファイルのマクロを実行することはできませんでしたが、今回のアップデートによって、ファイルをまたがってマクロを実行することができるようになりました。

関連Webサイト

[Power Automate for desktop]インストーラー版とストアアプリ版を区別する方法前のページ

[Office Scripts]スクリプト ボタンの紹介次のページ

関連記事

  1. Office関連

    外部からOutlookのマクロを実行するマクロ

    外部からOutlookのマクロを実行するマクロ今回は外部からO…

  2. Excel

    起動中のMicrosoft EdgeからタイトルとURLを取得するVBAマクロ(DOM編)

    前回の記事で、UI Automationを使って起動中のMicroso…

  3. Office関連

    UIAutomationClient参照時にDLL読み込みエラーが発生した時の対処法

    マクロでダイアログやボタンの操作を行う時に便利なUI Automati…

  4. Office アドイン

    [Officeアドイン]枠線(目盛線)の表示・非表示を切り替える方法

    ここ二週間ほど体調を崩していたので久しぶりのブログ更新です。久…

  5. Office関連

    RESAS-APIをVBAから呼び出す方法

    下記記事の通り「地域経済分析システム RESAS」のAPIが公開された…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP