Excel自動化と聞くとVBAを思い浮かべますが、Microsoft 365ではOffice ScriptsやPower Automateも選択肢です。名前が似ていても、動く場所、きっかけ、得意な処理が違います。
技術名から選ばず、「どこにあるファイルを、誰の権限で、何をきっかけに、どこまで動かすか」を先に決めます。
デスクトップExcelの帳票・印刷・ローカルファイル操作はVBA、Web版Excelの操作はOffice Scripts、メール・Forms・Teamsなどサービス間連携はPower Automate、APIがないPC画面操作はPower Automate Desktopが主な候補です。複数を組み合わせる場合も、役割と失敗時の境界を分けます。
方法を選ぶ前の五つの質問
同じ集計でも、利用環境によって向く方法が変わります。
- ファイルはPC・共有フォルダー・OneDrive・SharePointのどこにあるか
- Excelデスクトップ版・Web版のどちらで使うか
- ボタン・時刻・メール受信など何をきっかけにするか
- 印刷・PDF・ローカルファイル・他システム操作があるか
- 実行者・接続アカウント・管理者・退職時の引き継ぎをどうするか
四つの方法の役割を整理する
VBAはExcelデスクトップアプリ内の操作に強く、既存帳票や印刷との相性があります。Excel for the webではVBAを実行できません。Office ScriptsはExcelの操作を記録・スクリプト化し、Power Automateから呼び出せます。
Power Automateはクラウドサービス間の流れを作り、Power Automate DesktopはWindows PC上のExcelや画面を操作します。どの方法も、契約、管理者設定、データ量、実行環境の確認が必要です。
- 1作業の境界を描く
入力元、Excel処理、出力先、通知、承認を分けます。
- 2実行場所と権限を決める
PC、Web、クラウド、接続アカウントを整理します。
- 3最小構成で異常系を試す
権限不足、ファイルロック、タイムアウト、再実行を確認します。
方法別の得意・不得意
一つに統一する必要はありません。Power Automateがメールを受け取り、Office ScriptsがExcelを更新し、最終帳票だけVBAで印刷する構成もあります。ただし、工程が増えるほど監視と保守が必要です。
| 方法 | 主に向く場面 | 主な確認点 |
|---|---|---|
| VBA | デスクトップExcel、帳票、印刷、ローカルファイル | Web版では実行不可。PC・Office環境に依存 |
| Office Scripts | Excel for the webの操作、Power Automate連携 | 対応API、管理者設定、実行上限を確認 |
| Power Automate | メール・Forms・Teams・SharePoint等のクラウド連携 | ライセンス、コネクタ、接続アカウントを管理 |
| Power Automate Desktop | Windows PCのExcel・画面操作 | 端末占有、UI変更、復旧を設計 |
画面操作の自動化で確認しておきたいこと
利用しているExcelの種類、ファイルの置き場所、毎回の開始きっかけを書き出すだけでも候補を絞れます。
- 「VBAで」と方法を先に固定しない
- Web版で必要な機能を確認する
- 個人アカウントにフローを依存させない
- 印刷やローカルファイル操作の有無を分ける
画面操作の自動化を相談するときに伝えること
技術仕様書より、現在の作業を最初から最後まで再現できる材料が重要です。
- 現在のファイルと作業手順
- 保存場所と利用端末
- 利用中のMicrosoft 365契約・管理制限
- 開始条件と希望する実行頻度
- 失敗時に止める工程・通知・再開方法
画面操作の自動化をプロに任せる目安
- VBAとクラウド連携を組み合わせたい
- ライセンスや管理者設定を含めた判断が必要
- 複数部署・複数権限で使う
- 無人実行、監視、保守、引き継ぎまで設計したい
つまずきやすい点
新しい方法が常に優れているわけではなく、既存帳票や利用環境に合うかで判断します。
- Web版でVBAが動くと思って設計する
- Power Automateの接続を個人退職アカウントに依存させる
- 画面操作RPAを最初の選択肢にする
- 異常時の再実行で同じデータを二重処理する
画面操作の自動化で確認しておきたいこと
Office ScriptsはVBAの後継ですか?
実行環境と得意分野が異なり、単純な後継ではありません。既存VBAをそのまま移すのではなく、業務要件から選び直します。
Power AutomateはExcelを閉じていても動きますか?
クラウドフローはクラウド上で動く処理がありますが、対象ファイル・コネクタ・ライセンス・ロック状態によります。デスクトップフローは実行PCが必要です。
複数の方法を組み合わせてもよいですか?
可能です。ただし工程ごとの原本、成功判定、エラー記録、再実行範囲を明確にします。