Power Automate for desktop

[Power Automate for desktop]マクロなしブックでマクロを実行する方法

先日書いた下記記事で、Power Automate for desktop(PAD)の「Excel の起動」アクションで単一のプロセス下で複数のブックが開けるようになったことを紹介しました。

これにより、マクロなしブック(xlsx)でもマクロが含まれるファイル(xlsm)と同時に開くことで簡単にマクロで処理を行えるようになったので具体例をご紹介します。

マクロなしブックでマクロを実行するフロー

フロー全体

実行するマクロ

実行するマクロは下記の通りで、ブック名とシート名を引数として、指定したシート上のテーブルからグラフを作成する簡単なマクロです。

Private Sub SampleMacro(ByVal BookName As String, ByVal SheetName As String)
  Dim ws As Excel.Worksheet
  
  On Error Resume Next
  Set ws = Workbooks(BookName).Worksheets(SheetName)
  On Error GoTo 0
  If Not ws Is Nothing Then
    '指定したシート上のテーブルからグラフ追加
    With ws.Shapes.AddChart2(-1, xlColumnClustered).Chart
      .SetSourceData ws.ListObjects(1).Range
    End With
  End If
End Sub

このマクロを「MacroBook.xlsm」ファイルとして適当なフォルダに保存します。

1. 変数の設定

マクロが入っているファイル(MacroBook.xlsm)と処理対象となるファイル(Data.xlsx)のパスを変数として設定します。

2. ファイル パス部分の取得

マクロの実行にファイル名が必要になるので「ファイル パス部分の取得」アクションで変数(マクロファイル名:%MacroFileName%、処理対象ファイル名:%BookFileName%)として取得します。

3. Excel の起動

「Excel の起動」アクションでファイルを開きます。
このとき「詳細」から「新しい Excel プロセスの配下にネストする」オプションをオフにしておきます(マクロ用インスタンス:%MacroInstance%、処理対象インスタンス:%BookInstance%)。

4. Excel マクロの実行

処理対象インスタンス(%BookInstance%)でマクロを実行します。
マクロパラメーターでは下記のように「(ファイル名)!(マクロ名)」として実行するマクロを指定し、引数は「;」で区切って渡します。

'%MacroFileName%'!SampleMacro;%BookFileName%;Sheet1

5. Excel を閉じる

Excelを閉じます。
処理対象のファイルは「Excel を閉じる前」パラメーターで「ドキュメントを保存」を指定し、ファイルを保存しておきます。

実行画面

新しい Excel プロセスの配下にネストする」オプションのオン・オフによって、新規プロセスとしてExcelファイルを処理するかどうかを選べるようになったので、他ブックのマクロで処理を行いたい場合はオフにして単一プロセスで処理する、というように必要に応じて使い分けていくと良いでしょう。

2022年1月の人気記事前のページ

Yahoo!路線情報でRPAによる自動操作やスクレイピングが認められているかを調べてみました。次のページ

関連記事

  1. Office関連

    シート見出しの右クリックメニューから「コードの表示」を消す方法

    いつもお世話になっている「インストラクターのネタ帳」の管理人である伊藤…

  2. Office関連

    VBAでブラウザーを操作するSeleniumWrapperVBAの紹介

    Internet Explorerのサポートが終わり、VBAマクロから…

  3. Office関連

    指定したフォルダ内にあるExcelファイルを一つにまとめるVBAマクロ

    複数あるファイルを一つにまとめるにはどうすれば良いか?という質問をいた…

  4. Office関連

    [リボン・カスタマイズ]toggleButtonのオン・オフを動的に変更する。

    “リボン上のトグルボタンをマクロで押し下げすることはできないか?”、と…

  5. Office関連

    VBAでインターネット上のファイルをダウンロードする方法をまとめてみました。

    「VBA ファイル ダウンロード」といったキーワード検索でのアクセスが…

  6. Excel

    Google TTSで文字列を読み上げるマクロ(言語自動検出対応版)

    2012/2/15 追記:下記マクロをExcel 2007/201…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP