たった1行でPower Automate for desktop(PAD)から自由自在にExcelを操作できるスクリプトの紹介

1.2K Views

December 23, 22

スライド概要

「【自動化やIT活用ネタ】ライトニングトーク大会 X'masスペシャル!」(RPACommunity主催)の登壇資料です。
(2022年12月23日オンライン開催)

profile-image

きぬあさと申します。 VBAやOffice スクリプト、Power Automate for desktop等について情報発信しております。

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

たった1行でPADから自由自在に Excelを操作できるスクリプトの紹介 2022.12.23(Fri) ライトニングトーク大会 X‘masスペシャル! - RPALT @kinuasa

2.

注意事項 1. 本LTではPower Automate for desktopのことをPADと略します。 2. 本LTの資料はPAD バージョン 2.27 に基づいて作成しています。今後のバージョンアップ によって画面等の仕様が変更される可能性があります。 2

3.

Excel関連のアクション 3 標準のアクションだけである程度の操作はできる!

4.

標準のアクションとして用意されていない操作(1) 指定したセル範囲をクリアするにはどうすれば良いか? 4

5.

標準のアクションとして用意されていない操作(2) 対象となるセル範囲を選択して「すべてクリア」のアクセスキー送信 ※ キー送信やマウス操作は安定性に不安あり 5

6.

スクリプトによるコマンドの実行 • 「VBScript の実行」アクションで下記スクリプトを実行 GetObject(, "Excel.Application").CommandBars.ExecuteMso "ClearAll" コマンドのIDを指定して起動中のExcelに指定したコマンド(上記例では「すべてクリア」 (ClearAll))を実行させる ※ Excelが複数個起動している場合は安定性に不安あり 6

7.

スクリプトによるコマンドの実行(2) • 「VBScript の実行」アクションで下記スクリプトを実行 GetObject("C:¥Test¥SampleBook.xlsx").Application.CommandBars.ExecuteMso "ClearAll" Excelファイルを指定してコマンドを実行することもできる 7

8.

代表的なコマンドID(コントロールID) コマンド 8 ID 備考 格子 BordersAll 枠なし BorderNone すべてクリア ClearAll 選んだセルを完全にクリアします。 書式のクリア ClearFormats 書式設定のみをクリアします。 数式と値のクリア ClearContents 数式と値のみをクリアします。 ハイパーリンクの削除 HyperlinksRemove 電卓 Calculator

9.

コマンドIDの調べ方(1) • クイック アクセス ツール バーのカスタマイズ画面のポップヒント 9

10.

コマンドIDの調べ方(2) • Microsoftが公開しているIDリスト(Excelファイル): https://github.com/OfficeDev/office-fluent-ui-command-identifiers 10

11.

本日のまとめ 11 1. 標準のアクションで処理できる部分は標準のアクションで行い、用意されていない処理を スクリプトで行うことで安定して処理できる。 2. スクリプトでの処理を最低限にすることでフローが複雑にならない。 3. 将来的に目的の処理がアクションとして実装された場合、すぐに置き換えることができる。 4. WordやPowerPointといった他のOfficeアプリケーションでも同様の処理ができる。