知識マップ: ExcelマクロVBAをPower Automateへ移行する ── Officeスクリプトで置き換える範囲と、VBAのまま残す範囲
記事「ExcelマクロVBAをPower Automateへ移行する ── Officeスクリプトで置き換える範囲と、VBAのまま残す範囲」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
ExcelのVBAマクロはPower Automateのクラウドフローから直接実行できず、実行できるのはOfficeスクリプトだけです。OfficeスクリプトはExcel専用でイベント駆動やUserForm、他アプリ連携、ローカルファイル操作はできない一方、ブック内で完結する整形・集計・転記の処理はOfficeスクリプト化してRun scriptアクションから呼び出せます。単純な行操作はExcel Online (Business)コネクタに直接任せられますが、テーブル前提や256行・25MBなどの制限があります。他アプリ連携が必須の処理はVBAのまま残すかデスクトップフローのRun Excel macroアクションで起動を自動化し、大量データや長時間処理は120秒タイムアウトや5MB上限にぶつかるためOfficeスクリプトではなく.NETへ振り分けるのが実務的な判断です。
flowchart LR
accTitle: 「ExcelマクロVBAをPower Automateへ移行する知識マップ」
accDescr: VBAマクロはクラウドフローから直接実行できずOfficeスクリプトだけが実行対象になること、ブック内完結処理のOfficeスクリプト化・単純な行操作のコネクタ直接処理・VBA温存・デスクトップフロー起動・.NET作り直しという5つの移行先の使い分け、ライセンスと制限値の関係を示す図
vba["VBA(Visual Basic for Applications)"]
office_scripts["Officeスクリプト(Office Scripts)"]
power_automate_cloud_flow["Power Automate クラウドフロー"]
excel_online_business_connector["Excel Online (Business) コネクタ"]
run_script_action["スクリプトの実行(Run script)アクション"]
vba_exclusive_capabilities["VBA専用の処理群"]
run_excel_macro_action["Run Excel macroアクション"]
power_automate_desktop_flow["Power Automate デスクトップフロー"]
power_automate_premium_license["Power Automate Premiumユーザーライセンス"]
power_automate_process_license["Power Automate Processライセンス"]
m365_business_license["Officeスクリプト向けMicrosoft 365商用/教育ライセンス"]
large_scale_macro_workload["大量データ・長時間処理のマクロ"]
office_scripts_platform_limits["Officeスクリプトのプラットフォーム制限"]
dotnet[".NET(Core以降)"]
list_object_table["テーブル(ListObject)"]
external_api_call["外部Web API呼び出し"]
premium_connector["プレミアムコネクタ(汎用HTTPアクション)"]
vba_inventory["VBA資産の棚卸し"]
vba -.->|"両立しない"| power_automate_cloud_flow
excel_online_business_connector -->|"利用する"| run_script_action
power_automate_cloud_flow -.->|"利用する"| excel_online_business_connector
run_script_action -->|"自動化する"| office_scripts
office_scripts -.->|"推奨される対応"| vba
office_scripts -->|"両立しない"| vba_exclusive_capabilities
run_excel_macro_action -->|"自動化する"| vba
power_automate_desktop_flow -.->|"利用する"| run_excel_macro_action
power_automate_cloud_flow -.->|"利用する"| power_automate_desktop_flow
power_automate_desktop_flow -.->|"前提とする"| power_automate_premium_license
power_automate_desktop_flow -.->|"前提とする"| power_automate_process_license
office_scripts -->|"前提とする"| m365_business_license
run_script_action -->|"前提とする"| m365_business_license
large_scale_macro_workload -->|"両立しない"| office_scripts_platform_limits
office_scripts -->|"用いるのは非推奨"| large_scale_macro_workload
dotnet -->|"推奨される対応"| large_scale_macro_workload
excel_online_business_connector -.->|"前提とする"| list_object_table
large_scale_macro_workload -->|"両立しない"| excel_online_business_connector
run_script_action -->|"両立しない"| external_api_call
external_api_call -.->|"前提とする"| premium_connector
vba_inventory -->|"より先に行うべき"| office_scripts
概念間の関係(全21件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- VBA(Visual Basic for Applications)はPower Automate クラウドフローと両立しません。
- Excel Online (Business) コネクタはスクリプトの実行(Run script)アクションを利用します。
- Power Automate クラウドフローはExcel Online (Business) コネクタを利用します。
- スクリプトの実行(Run script)アクションはOfficeスクリプト(Office Scripts)を自動化します。
- Officeスクリプト(Office Scripts)はVBA(Visual Basic for Applications)に対する本記事の推奨です。
- Officeスクリプト(Office Scripts)はVBA専用の処理群と両立しません。
- Run Excel macroアクションはVBA(Visual Basic for Applications)を自動化します。
- Power Automate デスクトップフローはRun Excel macroアクションを利用します。
- Power Automate クラウドフローはPower Automate デスクトップフローを利用します。
- Power Automate デスクトップフローはPower Automate Premiumユーザーライセンスを前提とします。
- Power Automate デスクトップフローはPower Automate Processライセンスを前提とします。
- Officeスクリプト(Office Scripts)はOfficeスクリプト向けMicrosoft 365商用/教育ライセンスを前提とします。
- スクリプトの実行(Run script)アクションはOfficeスクリプト向けMicrosoft 365商用/教育ライセンスを前提とします。
- 大量データ・長時間処理のマクロはOfficeスクリプトのプラットフォーム制限と両立しません。
- Officeスクリプト(Office Scripts)を大量データ・長時間処理のマクロに用いることは推奨されません。
- .NET(Core以降)は大量データ・長時間処理のマクロに対する本記事の推奨です。
- Excel Online (Business) コネクタはテーブル(ListObject)を前提とします。
- 大量データ・長時間処理のマクロはExcel Online (Business) コネクタと両立しません。
- スクリプトの実行(Run script)アクションは外部Web API呼び出しと両立しません。
- 外部Web API呼び出しはプレミアムコネクタ(汎用HTTPアクション)を前提とします。
- VBA資産の棚卸しはOfficeスクリプト(Office Scripts)より先に行うべきです。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。