【Excel】Power Automateからマクロを実行する!Excelの定時バッチ処理をクラウド連携で実現

【Excel】Power Automateからマクロを実行する!Excelの定時バッチ処理をクラウド連携で実現
🛡️ 超解決

Excelの定時バッチ処理を自動化したい場合、マクロやVBAの活用が一般的です。しかし、これらの処理をクラウドサービスと連携させて、より柔軟に実行したいと考える場面もあるでしょう。Power Automateを使えば、Excelファイルのマクロをクラウドから呼び出し、定時実行や特定のトリガーでの実行が可能になります。この記事では、Power AutomateからExcel VBAマクロを実行する具体的な手順と、その設定方法について解説します。

Power AutomateとExcel VBAを連携させることで、これまで手動で行っていたExcelファイルの更新作業やデータ集計を自動化できます。これにより、業務効率の大幅な向上が期待できます。クラウド連携により、場所を選ばずに処理を実行できる点も大きなメリットです。

ADVERTISEMENT

Power AutomateからVBAマクロを実行する仕組み

Power AutomateからExcel VBAマクロを実行するには、「デスクトップ版Power Automate」を使用します。デスクトップ版Power Automateは、PC上のアプリケーション操作を自動化する機能を持つため、Excelファイルを開いてVBAマクロを実行する操作を記録・再生できます。この機能を利用して、Power Automateのクラウドフローからデスクトップフローを呼び出すことで、VBAマクロの実行を実現します。

具体的には、Power Automateのクラウドフローで特定のトリガー(例: 定期的なスケジュール、ファイル更新)を検知し、それがデスクトップフローの実行を指示します。デスクトップフローは、PC上でExcelアプリケーションを起動し、指定されたブックを開いて、登録済みのVBAマクロを実行します。処理が完了したら、Power Automateは次のアクションに進むか、処理を終了します。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

VBAマクロの準備とデスクトップフローでの実行設定

Power Automateから実行するVBAマクロは、事前にExcelブックに登録しておく必要があります。マクロは、単独で実行しても問題なく動作するものを用意してください。マクロが正常に動作することを確認したら、次はデスクトップ版Power Automateでの実行設定を行います。

  1. デスクトップ版Power Automateのインストール
    Microsoft Power Automate DesktopをPCにインストールします。Microsoft Storeまたは公式サイトからダウンロードできます。
  2. 新しいデスクトップフローの作成
    Power Automate Desktopを開き、「新しいフロー」をクリックして、フローに名前を付けて作成します。
  3. 「Excelの起動」アクションの追加
    画面左側のアクションペインから「Excel」を検索し、「Excelの起動」アクションをワークフローエリアにドラッグ&ドロップします。
  4. Excelの起動設定
    「Excelの起動」アクションの設定画面で、「ドキュメントの起動」を「次のドキュメントを開く」に変更し、実行したいVBAマクロが含まれるExcelブックのパスを指定します。
  5. 「Excelマクロの実行」アクションの追加
    続けて、アクションペインから「Excel」の「Excelマクロの実行」アクションをワークフローエリアに追加します。これは「Excelの起動」アクションの後に追加してください。
  6. Excelマクロの実行設定
    「Excelマクロの実行」アクションの設定画面で、「実行するマクロ」のドロップダウンリストから、実行したいVBAマクロの名前を選択します。
  7. Excelの終了設定
    マクロ実行後、Excelブックを保存して終了させる場合は、「Excelの終了」アクションを追加します。
  8. Excelの終了設定
    「Excelの終了」アクションの設定画面で、「Excelインスタンス」を「起動したExcel」に、「ドキュメントの保存」を「ドキュメントを保存する」に設定します。
  9. フローの保存とテスト実行
    作成したデスクトップフローを保存し、テスト実行して、マクロが正常に実行されるか確認します。

Power Automateクラウドフローとの連携

デスクトップフローの準備ができたら、次にPower Automateのクラウドフローと連携させます。これにより、クラウド側からデスクトップフローをトリガーできるようになります。

  1. Power Automateポータルのサインイン
    WebブラウザでPower Automateポータル(flow.microsoft.com)にサインインします。
  2. 新しいフローの作成
    左側のメニューから「作成」を選択し、「デスクトップ フロー」を選択して、「今すぐ」ボタンをクリックします。
  3. トリガーの設定
    デスクトップフローを起動するトリガーを設定します。「スケジュール済み」トリガーを選択すれば、定時実行が可能です。例えば、「毎日」を選択し、実行したい時刻を設定します。
  4. 「デスクトップ フローの実行」アクションの追加
    トリガーを設定したら、アクションとして「デスクトップ フローの実行」を検索して追加します。
  5. デスクトップフローの実行設定
    「デスクトップ フローの実行」アクションの設定画面で、先ほど作成したデスクトップフローを選択します。
  6. コンピューターの選択
    VBAマクロを実行するPCを「コンピューター」として選択します。このPCには、デスクトップ版Power Automateがインストールされ、Power Automateサービスが実行されている必要があります。
  7. フローの保存と有効化
    クラウドフローを保存し、「オン」に設定して有効化します。これにより、設定したスケジュールに従ってVBAマクロが自動実行されるようになります。

ADVERTISEMENT

セキュリティに関する注意点

Power AutomateからVBAマクロを実行する際には、セキュリティに関するいくつかの注意点があります。これらの点を理解し、適切に対処することが重要です。

マクロのセキュリティ設定: Excelにはマクロのセキュリティ設定があり、信頼できないソースからのマクロ実行がブロックされる場合があります。Power Automateからマクロを実行する際には、Excelのセキュリティセンターでマクロの設定を確認し、必要に応じて信頼できる場所からのマクロ実行を許可する設定を行ってください。ただし、セキュリティリスクを考慮し、必要最低限の設定に留めることが推奨されます。

Power Automateの接続と認証: Power AutomateがPC上のExcelファイルにアクセスするには、適切な認証が必要です。デスクトップ版Power Automateは、PCのサインイン情報を使用してExcelファイルにアクセスします。クラウドフローからデスクトップフローを呼び出す際に、PCがサインイン状態であることを確認してください。また、OneDriveやSharePoint上のExcelファイルを扱う場合は、それらのサービスへの接続設定と認証も必要になります。

エラーハンドリング: VBAマクロやデスクトップフローの実行中にエラーが発生する可能性があります。これらのエラーを適切に処理するための仕組みを組み込むことが重要です。デスクトップ版Power Automateでは、「エラー発生時に実行する」といったエラーハンドリングアクションを設定できます。クラウドフロー側でも、デスクトップフローの実行結果を確認し、エラーが発生した場合には通知するなどの処理を追加すると良いでしょう。

よくある質問とトラブルシューティング

Power AutomateからVBAマクロを実行する際に、予期しない問題が発生することがあります。ここでは、よくある質問とその対処法について解説します。

デスクトップフローが実行されない

デスクトップフローがスケジュール通りに実行されない場合、いくつかの原因が考えられます。まず、PCがサインイン状態であり、Power Automateサービスが実行されているか確認してください。また、デスクトップ版Power Automateが最新バージョンであるかも確認してください。インターネット接続が不安定な場合も実行に失敗することがあります。

Power Automateポータルで、実行履歴を確認し、エラーメッセージの詳細を把握することが重要です。エラーメッセージに応じて、Excelのパスが間違っていないか、マクロ名が正しいかなどを再確認してください。

VBAマクロが正常に動作しない

デスクトップフローは正常に実行されているにも関わらず、VBAマクロが期待通りに動作しない場合、Excel側の設定やマクロ自体に問題がある可能性があります。Excelのセキュリティ設定でマクロの実行がブロックされていないか確認してください。また、マクロが実行される際のExcelの表示状態(最小化されているか、特定のシートが開いているかなど)が、マクロの動作に影響を与えている場合もあります。

マクロを単独で実行した場合も同様の問題が発生するか確認し、問題が特定できれば、マクロコードのデバッグを行ってください。デスクトップフローのアクションで、Excelの起動オプション(例: 表示モード)を変更してみることも有効です。

実行結果が反映されない

マクロの実行は完了したように見えても、Excelファイルに変更が反映されない場合、保存処理に問題があるか、マクロが実際にはデータを更新していない可能性があります。「Excelの終了」アクションで、ドキュメントを正しく保存する設定になっているか確認してください。また、マクロ内で指定している保存パスやファイル名が正しいかも再確認してください。

一時ファイルやキャッシュが原因で更新が反映されないこともあります。処理後に、Excelファイルを一度手動で開き、変更が保存されているか確認してみると良いでしょう。

まとめ

Power Automateとデスクトップ版Power Automateを連携させることで、Excel VBAマクロの定時実行やクラウド連携による自動化が実現できます。これにより、Excelのバッチ処理を効率化し、業務の自動化をさらに進めることが可能です。本記事で解説した「デスクトップ版Power Automateのインストール」「Excelの起動とマクロ実行設定」「クラウドフローとの連携」の手順を参考に、ぜひご自身の業務に活用してみてください。

今後は、トリガー条件をファイル更新やメール受信など、より多様なイベントに設定することで、さらに高度な自動化シナリオを構築できるでしょう。また、Power Automateの他のアクション(例: SharePointへのファイル保存、Teamsへの通知)と組み合わせることで、Excel処理の自動化範囲を広げることが期待できます。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】