8.9K Views
December 23, 22
スライド概要
「【自動化やIT活用ネタ】ライトニングトーク大会 X'masスペシャル!」(RPACommunity主催)の登壇資料です。
(2022年12月23日オンライン開催)
たった1行でPADから自由自在に Excelを操作できるスクリプトの紹介 2022.12.23(Fri) ライトニングトーク大会 X‘masスペシャル! - RPALT @kinuasa
注意事項 1. 本LTではPower Automate for desktopのことをPADと略します。 2. 本LTの資料はPAD バージョン 2.27 に基づいて作成しています。今後のバージョンアップ によって画面等の仕様が変更される可能性があります。 2
Excel関連のアクション 3 標準のアクションだけである程度の操作はできる!
標準のアクションとして用意されていない操作(1) 指定したセル範囲をクリアするにはどうすれば良いか? 4
標準のアクションとして用意されていない操作(2) 対象となるセル範囲を選択して「すべてクリア」のアクセスキー送信 ※ キー送信やマウス操作は安定性に不安あり 5
スクリプトによるコマンドの実行 • 「VBScript の実行」アクションで下記スクリプトを実行 GetObject(, "Excel.Application").CommandBars.ExecuteMso "ClearAll" コマンドのIDを指定して起動中のExcelに指定したコマンド(上記例では「すべてクリア」 (ClearAll))を実行させる ※ Excelが複数個起動している場合は安定性に不安あり 6
スクリプトによるコマンドの実行(2) • 「VBScript の実行」アクションで下記スクリプトを実行 GetObject("C:¥Test¥SampleBook.xlsx").Application.CommandBars.ExecuteMso "ClearAll" Excelファイルを指定してコマンドを実行することもできる 7
代表的なコマンドID(コントロールID) コマンド 8 ID 備考 格子 BordersAll 枠なし BorderNone すべてクリア ClearAll 選んだセルを完全にクリアします。 書式のクリア ClearFormats 書式設定のみをクリアします。 数式と値のクリア ClearContents 数式と値のみをクリアします。 ハイパーリンクの削除 HyperlinksRemove 電卓 Calculator
コマンドIDの調べ方(1) • クイック アクセス ツール バーのカスタマイズ画面のポップヒント 9
コマンドIDの調べ方(2) • Microsoftが公開しているIDリスト(Excelファイル): https://github.com/OfficeDev/office-fluent-ui-command-identifiers 10
本日のまとめ 11 1. 標準のアクションで処理できる部分は標準のアクションで行い、用意されていない処理を スクリプトで行うことで安定して処理できる。 2. スクリプトでの処理を最低限にすることでフローが複雑にならない。 3. 将来的に目的の処理がアクションとして実装された場合、すぐに置き換えることができる。 4. WordやPowerPointといった他のOfficeアプリケーションでも同様の処理ができる。