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関連

    Google翻訳で文字列を翻訳するVBAマクロ(IE操作版)

    下記記事にあるように、ニューラルネット機械翻訳の導入によって、Goog…

  2. Office関連

    ヘッドレス ChromeをSeleniumBasicで動かしてみました。

    Chromeがヘッドレスモードに対応した頃、Seleniumで操作した…

  3. Office関連

    PhpSpreadsheetを使ってPHPからExcelファイルを出力してみる。

    一年半ほど前、「PHPWord」を使ってPHPからWordファイルを出…

  4. Office関連

    手軽に参照設定するためのVBAアドイン

    thom氏のブログで面白い記事がありました。・VBA 参照…

  5. Power Automate for desktop

    Power Automate DesktopでPPAPしてみた。

    PPAP、所謂パスワード付きZipをメールに添付して、そのメールとは別…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

Translate

最近の記事

アーカイブ

PAGE TOP