-
Notifications
You must be signed in to change notification settings - Fork 0
MS_OfficeScript
-
TOP > Microsoft Office
- Office Script
- Visual Basic for Applications (VBA)
-
Microsoft 365 の Excel で利用できる自動化ツール
- アクション レコーダーを使用して日常のタスクを自動化できる。
- 記録したスクリプトはエディターを使用して編集できる。
- Power Automate と組み合わせてワークフロー全体を合理化する。
-
対応する言語は TypeScript らしい。
補足(VBA との位置づけの違い): Office Script は
VBA の後継ではなく、Web / クラウド側の EUC 手段である。
両者は併存しており、VBA が廃止される予定は示されていない。
VBA Office Script 言語 VB6 系 TypeScript 実行場所 デスクトップ版 Excel(クライアント) Excel on the web(クラウド) 保存先 ブックの中 OneDrive / SharePoint(ブックとは別) 他アプリ操作 可(COM オートメーション) 不可(Excel のみ) 外部連携 端末の権限で自由 Power Automate 経由が基本 実行トリガ ブックを開く・ボタン等 手動 / Power Automate 重要なのは スクリプトがブックの外に保存される点で、
ブックをコピーしてもスクリプトは付いてこない。
VBA の「ファイル 1 つで完結する」性質
(→ VBAは何故、最強EUCツールなのか?)とは
配布の考え方が根本的に異なる。
- 便利だが、できないこと・制限がある点もあるらしい。
- VBA ユーザからすると「え、これできないの!?」となる場面も多いらしい。
補足(VBA ユーザが躓きやすい制限): 元ページが「制限がある」とだけ述べている点を、
具体的に補っておく。
- ユーザーフォームが作れない
ダイアログによる入力を伴う処理は成立しない(入力はシート上で行う)。MsgBox/InputBoxに相当するものがない
実行結果はコンソールへの出力か、シートへの書き込みで表現する。- Excel 以外の Office アプリを操作できない
VBA が COM 経由で Word / Outlook 等を操作できたのに対し、
Office Script は Excel のオブジェクト モデルのみを扱う。
他サービスとの連携は Power Automate が担当する。- 任意の外部 API を直接叩けない
VBA のMSXML2.XMLHTTPに相当する自由な通信はできない。- イベント駆動が弱い
Worksheet_Changeのようなブック内イベントで起動する仕組みはなく、
手動実行か Power Automate のトリガから呼ぶ形になる。- 実行時間・スコープの上限がある
長時間かかるバッチ的な処理には向かない。つまり、Office Script が向くのは
**「Excel のシートに対する定型的な整形・集計を、
Power Automate のフローの一工程として実行する」**用途である。
VBA が担っていた「1 つのブックで業務アプリを作る」用途は、
Office Script ではなく Power Apps 側の領分になる。
補足(Python in Excel という選択肢): EUC の自動化手段としては、
Microsoft 365 の Excel に Python in Excel も追加されている。
セルの数式から Python を書き、pandas / matplotlib 等が利用できる。
実行はクラウド側で行われるため、
データ分析用途では Office Script より適する場合がある。
- Office スクリプトのドキュメント | Microsoft Learn
https://learn.microsoft.com/ja-jp/office/dev/scripts/
- Microsoft Office
- Excel、Excel VBA
- Excel VBA
- Excelアドイン
- Visual Basic for Applications (VBA)
- VBAは何故、最強EUCツールなのか?
Tags: ツール類, その他、開発の色々, Visual Basic, 移行, EUC
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。