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

    「カレンダーから日付入力」をUserFormに移植してみました。

    前回の記事では、Office 用アプリ「カレンダーから日付入力」と同様…

  2. Office関連

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

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

  3. Power Automate for desktop

    [Power Automate Desktop]Google APIのアクセストークンを取得するフロ…

    前回の記事でGoogle APIのアクセストークンを取得するPower…

  4. Office関連

    マクロでリボンを最小化する。

    mougの回答用に書いたコードです。忘れないうちにメモ。・…

  5. Power Automate for desktop

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

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

  6. Power Automate for desktop

    [Power Automate for desktop]セレクターを変数化することでアプリのバージョ…

    OSやアプリのバージョンが変わるとウィンドウ構造の違いによって、同じア…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP