知識マップ: VBA とは何か - 制約、将来性、置き換えるべき場面と現実的な移行パターン

記事「VBA とは何か - 制約、将来性、置き換えるべき場面と現実的な移行パターン」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

VBAはOfficeデスクトップアプリの内側で動くイベント駆動言語で、Excel for the webでは作成・実行・編集ができず、インターネット由来ファイルのマクロは既定でブロックされます。このブロックは信頼できる場所・信頼済みサイト・信頼された発行元とコード署名証明書といった仕組みで個別に回避できます。VBAはOfficeのサーバー側自動化には向かず、Microsoftは無人での帳票生成にOpen XML形式による直接生成を推奨しています。古いDeclare文は64bitのOfficeで動かないことがあり、外部.vbsの実行やVBScript.RegExpへの依存はVBScriptの段階的廃止の影響を受け得ます。置き換え先は一つではなく、重い業務ロジックは.NET DLLへ、クロスプラットフォーム拡張はOffice Add-insへ、M365上のワークフローはOffice ScriptsとPower Automateへと、責務ごとに分けるのが現実的です。

VBAの制約と置き換え先の知識マップVBAがOfficeデスクトップの内側に閉じた拡張言語であること、Excel for the webとの非互換、既定のマクロブロックと信頼できる場所・信頼済みサイト・信頼された発行元による回避、サーバー側自動化の非推奨とOpen XMLへの代替、bitnessやVBScript依存という制約、Office ScriptsやOffice Add-insや.NETへの責務ごとの置き換え先を示す図両立しない防止する原因になり得るで構成できるで構成できるで構成できる前提とする用いるのは非推奨推奨される対応用いるのは非推奨前提とする前提とする利用する利用する利用する両立しない推奨される対応用いるのは非推奨推奨される対応利用する前提とする両立しない推奨される対応VBA(Visual Basic for Applications)Excel for the webインターネット由来マクロの既定ブロックZone.Identifier(Mark of the Web)信頼できる場所信頼済みサイト/ローカル イントラネット ゾーン信頼された発行元ストアコード署名証明書サーバーサイドのOffice自動化Open XML形式無人帳票生成bitness一致要件VBAの64bit対応(PtrSafe/LongPtr)COM(コンポーネントオブジェクトモデル)ActiveXOCXクロスプラットフォームのOffice拡張Office Add-insM365上のクラウドワークフローOfficeスクリプト(Office Scripts)Power AutomateVBScript.RegExp/外部.vbs依存VBScriptの段階的廃止.NET(Core以降)

概念間の関係(全23件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

VBA(Visual Basic for Applications)
Officeアプリケーションに組み込まれたBASIC系のマクロ言語で、ExcelやAccessなどからCOMコンポーネントを呼び出せる。
インターネット由来マクロの既定ブロック
インターネット由来のOfficeファイルに含まれるVBAマクロの実行を、既定でブロックするMicrosoftのセキュリティ既定値。
Zone.Identifier(Mark of the Web)
ブラウザーなどでダウンロードしたファイルに付与される代替データストリーム。ファイルの出所(インターネット由来など)を記録し、SmartScreenや保護ビューの判定材料になる。
信頼された発行元ストア
信頼する発行元のコード署名証明書を登録する論理ストア。
Open XML形式
Excelアプリを起動せずに、Officeファイルの中身を直接組み立てるためのファイル形式。無人での帳票生成の代替手段として推奨される。
サーバーサイドのOffice自動化
ASP.NET、DCOM、NTサービスなど無人・非対話のクライアントアプリケーションやコンポーネントからOfficeアプリを自動操作すること。Microsoftは推奨せずサポートもしないと明言している。
Office Add-ins
HTML/CSS/JavaScriptで構築し、Windows/Mac/iPad/ブラウザをまたいで動作しつつ中央配布にも向く、Officeのクロスプラットフォーム拡張の仕組み。
Officeスクリプト(Office Scripts)
TypeScriptでExcelを操作するスクリプト機能で、Excel専用でブックにのみアクセスでき、Power Automateのクラウドフローから呼び出せる。
Power Automate
Microsoft Formsなどのトリガーから、SharePointへの転記や通知などのアクションを自動化するMicrosoftのクラウドフローサービス。Formsコネクタにはトリガー「新しい応答が送信されるとき」とアクション「応答の詳細を取得」がある。
VBScript.RegExp/外部.vbs依存
VBAプロジェクトが外部の.vbsファイルを実行したり、VBScript.RegExpを参照設定または遅延バインディングで使ったりしている状態。
.NET(Core以降)
.NET Frameworkの後継となる、クロスプラットフォーム対応の.NETランタイム(.NET 5以降)。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。