Power Automate for desktop

[Power Automate for desktop]Excelでセルを結合する方法

2022年11月時点のPower Automate for desktop(PAD)のバージョン(2.25)では標準でExcelのセルを結合するためのアクションが用意されていません。
そこで今回はPADのExcel関連のアクションと簡単なスクリプトを組み合わせることでセルの結合を行う方法をご紹介します。

Excelでセルを結合するフロー

フロー全体

1. 変数の設定

対象となるExcelファイルのパスを変数(%WorkbookPath%)として設定します。

2. Excel の起動

「ドキュメント パス」でファイルパスを指定してExcel起動時にファイルを開きます。

3. Excel ワークシート内のセルを選択

結合するセルを選択します。下記例ではB2~D4セルを指定しています。
必要に応じて、事前に「アクティブな Excel ワークシートの設定」アクションで対象シートを選択すると良いでしょう。

4. VBScript の実行

「VBScript の実行」アクションで下記スクリプトを実行し、選択したセルを結合します。
下記スクリプトではGetObject関数でExcelファイルのパスを指定してWorkbookオブジェクトを取得し、(CommandBars).ExecuteMsoメソッドでセルの結合コマンドを実行しています。また、DisplayAlertsプロパティを指定することで、入力済みのセル結合時に表示されるメッセージを非表示にしています。

With GetObject("%WorkbookPath%").Application
  .DisplayAlerts = False
  .CommandBars.ExecuteMso "MergeCells"
  .DisplayAlerts = True
End With

実行画面

「キーの送信」アクションでショートカットキーやアクセスキー(セルの結合の場合は Alt → H → M → M)を送信することでも処理できますが、上記のようにスクリプト、あるいはマクロを使用した方が安定性が高くなります。

また、すべてをスクリプトやマクロで処理するのではなく、標準アクションとして用意されていない部分のみ処理することで、将来的に対象となる処理がアクションとして実装された場合、簡単に置き換えることができるようになります。

スクリプトやマクロの知識が必要となりますが、下記1行のコードでExcelで用意されている任意のコマンドを実行できることを覚えておくだけでも処理の幅は広がるでしょう。

GetObject("%WorkbookPath%").Application.CommandBars.ExecuteMso "(実行したいコマンドのID)"

コマンドのID(コントロールID)を調べる方法については下記記事で解説しています。

関連Webサイト

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

[Google Apps Script]Utilities.parseDateメソッドで文字列から日付に変換する次のページ

関連記事

  1. Office関連

    Google翻訳で文字列を翻訳するマクロ

    ※ 2016/2 時点では下記の方法はもう使用できなくなっています。V…

  2. Excel

    7-Zipで圧縮・解凍を行うVBAマクロ

    「7-Zip VBA」といったキーワード検索でのアクセスがありました。…

  3. Office関連

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

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

  4. Office アドイン

    [Officeアドイン]ワークシートで選択範囲を変更したときに発生するイベント

    ワークシート上で選択範囲の変更を検知する際、VBAでは通常「Works…

  5. Power Automate for desktop

    [Power Automate Desktop]OCR(Computer Vision)アクションを…

    先週の金曜日に開催されたRPA勉強会に参加し、PADとAI-OCRのデ…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP