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. Power Automate for desktop

    [Power Automate for desktop]同じアプリケーションが同時に複数起動している…

    アプリケーションのボタンをクリックする等の操作をPower Autom…

  2. Office関連

    IEサポート終了でVBAマクロはどうなるの?

    ※下記情報は2021年5月時点の情報で、今後状況が変わっていく可能性が…

  3. Office関連

    「ExcelVBAを実務で使い倒す技術」レビュー

    @ateitexeさんの下記ツイートで、高橋宣成氏が執筆された「Exc…

  4. Power Automate for desktop

    APIを使ったkintoneとPower Automate for desktopの連携

    前回の記事でkintone 開発者ライセンスの取得方法を紹介したので、…

  5. Office アドイン

    Office Scriptsってどんな機能?

    昨年の11月、Ignite 2019で発表されたオンライン版Excel…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP