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

    Excelのアイデア機能でグラフやピボットグラフを一発作成

    Insider版のExcelに「アイデア」機能が追加されました。…

  2. Power Automate for desktop

    [Power Automate Desktop]オートメーション ブラウザーとは?

    まず表題の「オートメーション ブラウザー」とは何かと言うと、Power…

  3. Power Automate for desktop

    [Power Automate for desktop]UI要素のセレクターに関するメモ書き

    先日ロボ研さん( @AsahiRobo_RPA )がUI要素のセレクタ…

  4. Office関連

    Acrobat XIを操作してテキスト認識操作を行うVBAマクロ

    マクロからAcrobatを操作する場合「PDFファイル上のフィールドの…

  5. Office Scripts

    マクロの記録後に記録した操作をOffice スクリプトとしても保存できるようになりました。

    先日、Excelでマクロの記録操作を行ったところ、記録を終了した際に作…

  6. Office関連

    Excelのシート上で3Dグラフィックのアニメーションが再生できるようになりました。

    ※ 下記情報はInsider版のExcelを元にしています。バージョン…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP