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

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

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

  2. Office関連

    [Excel VBA]PrintPreview後に印刷するとCtrl+;の日付形式が変わる?

    MSDNフォーラムで面白い質問がありました。・Excel …

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP