OfficeスクリプトとVBAの違い|Microsoft 365で始めるクラウド自動化入門

スポンサーリンク

「Office Scripts(Officeスクリプト)」という言葉を、最近Excelの画面やネット記事で見かけて気になっていませんか。VBAは何となく知っているけれど、Office Scriptsとの違いがよく分からない。そんな方は多いはずです。

「また新しい技術を覚えないといけないのか」と身構えてしまう気持ちも分かります。クラウド移行が進む職場でExcel業務を抱えていると、なおさら不安になりますよね。

でも安心してください。Office Scriptsは、プログラミングの知識がなくても「操作の記録」機能で今日から試せます。TypeScriptのコードを一行も書かずに自動化を体験できるのです。

この記事では、Office ScriptsとVBAの違いを比較表で整理します。さらに、コードゼロで始める「操作の記録」の手順を7ステップで解説します。読み終えるころには、自分の仕事にどちらが向いているか判断できるようになりますよ。

Office Scripts(Officeスクリプト)とは?

Office Scriptsは、Microsoftが提供するExcel向けのクラウド対応自動化ツールです。Web版のExcelをはじめ、複数の環境で繰り返し作業を自動化できます。

従来のVBAがExcelデスクトップアプリ内で完結していたのに対し、Office Scriptsはクラウドを前提に設計されています。ここが大きな考え方の違いです。

公式情報によると、Office ScriptsはExcel for the web・Excel for Windows(Version 2210以降)・Excel for Macで動作します。記述言語はTypeScriptです(出典: Microsoft Support「Introduction to Office Scripts in Excel」)。

TypeScriptと聞くと身構えるかもしれません。後ほど紹介する「操作の記録」を使えば、コードを書かずにスクリプトを作れます。まずは肩の力を抜いて読み進めてみてくださいね。

VBAと何が違うのか:一言で言うと「クラウド対応の自動化ツール」

VBAとOffice Scriptsの違いを一言でまとめると、「動く場所」が決定的に異なります。VBAはあなたのパソコンの中で動くツールです。一方、Office Scriptsはクラウド上で動くツールです。

VBAで作ったマクロは、Excelファイル(.xlsm)の中に保存されます。そのファイルを開いたパソコンでしか動きません。手元で完結する分、シンプルで分かりやすい仕組みです。

これに対しOffice Scriptsのスクリプトは、ブックの中ではなくOneDriveやSharePointに保存されます。つまりスクリプトとファイルが切り離されているのです(出典: Microsoft Learn「Differences between Office Scripts and VBA macros」)。

この違いがあるため、Office Scriptsはブラウザだけで動くWeb版Excelでも使えます。逆にVBAはWeb版Excelでは動作しません。「クラウドで共有しながら自動化したい」という今の働き方に、Office Scriptsはぴったり寄り添う設計なのですね。

VBAとマクロそのものの関係をおさらいしたい方は、Excel VBAとマクロの違い|関係性と活用例を初心者向けに解説もあわせて読むと理解が深まりますよ。

使えるExcelの種類と必要なプラン(Microsoft 365)

ここで重要な注意点があります。Office Scriptsは、誰でも無条件に使えるわけではありません。利用には対応したMicrosoft 365のライセンスが必要です。

公式ドキュメントによると、利用できるのは法人向け・教育向けのプランです。具体的な対象は、Office 365 Business、Business Premium、ProPlus、A3、A5、Enterprise E1、E3、E5、F3などです。あわせてOneDrive for Businessも必須です(出典: Microsoft Learn「Platform limits and requirements with Office Scripts」)。

つまり、会社や学校で配られているMicrosoft 365のアカウントなら使える可能性が高いです。一方、個人で契約しているMicrosoft 365 Personalなどでは事情が異なります。

個人向けプラン(Personal/Family)でのOffice Scripts提供は、2026年5月時点でプレビュー段階です。利用にはMicrosoft 365 Insiderプログラムへの参加が必要とされています(出典: Microsoft Learn「Platform limits and requirements with Office Scripts」)。

ですから個人ライセンスの方は、まだ正式には使えない可能性があります。「自分のExcelでは見当たらない」という場合、ライセンスの種類が原因かもしれません。まずは自分のアカウントが法人・教育向けかどうかを確認してみてくださいね。

VBAとOffice Scriptsの違いを比較

ここからは、VBAとOffice Scriptsの違いをより具体的に見ていきます。「結局どこが違うのか」を一覧で押さえると、判断がぐっとラクになります。

両者は似ているようで、得意分野がはっきり分かれています。どちらが優れているという話ではありません。用途によって向き不向きがあるだけなのです。

まずは項目ごとの違いを表で整理します。そのあとで、どんなケースにどちらが向いているかを掘り下げていきますね。

動作環境・言語・保存場所の違い(比較表)

VBAとOffice Scriptsの主な違いを、表にまとめました。気になる項目から見比べてみてください。

比較項目Office ScriptsVBA
記述言語TypeScriptVisual Basic for Applications
保存場所OneDrive / SharePoint(ブック外).xlsmファイル内
Web版Excel(ブラウザ)×(動作しない)
Excel for Windows○(Ver.2210以降)
Excel for Mac
追加ライセンス×(法人・教育M365必須)○(Excelに内蔵・不要)
アクセス範囲ワークブック内のみデスクトップ全体(COM/OLE等)
Power Automate連携×(連携不可)
イベント駆動(自動起動)×(手動かフロー経由のみ)
共有ブック・組織共有○(OneDriveで共有)△(.xlsmファイル共有のみ)
コードゼロで作成○(操作の記録)○(マクロの記録)

この表から、いくつかの特徴が読み取れます。Office Scriptsはクラウドと共有に強く、VBAは手元のパソコンでの細かい制御に強い、という構図です。

特に注目したいのが「アクセス範囲」の行です。VBAはExcelと同じ権限でパソコン全体を操作できます。ファイルを別の場所にコピーしたり、他のアプリを操作したりも可能です。

一方Office Scriptsは、原則として開いているワークブックの中だけを操作します。デスクトップへのアクセスはできません(出典: Microsoft Learn「Differences between Office Scripts and VBA macros」)。一見すると制限に思えますが、これはクラウドで安全に動かすための設計でもあるのですよ。

VBAが向いているケース/Office Scriptsが向いているケース(判断フローチャート)

「結局、自分はどちらを使えばいいの」という疑問に答えるため、判断の流れを整理しました。下のフローチャートを順番にたどってみてください。

【自動化ツールの選び方フローチャート】

Q1. その自動化は誰がどこで使う?
 ├─ 自分のパソコンだけで完結する
 │    │
 │    Q2. パソコン内の他ファイルや他アプリも操作したい?
 │     ├─ はい → ★VBA を継続・採用
 │     └─ いいえ
 │          │
 │          Q3. Web版Excelやブラウザでも動かしたい?
 │           ├─ はい → ★Office Scripts を検討
 │           └─ いいえ → ★VBA でも Office Scripts でもOK
 │
 └─ チームでクラウド共有しながら使う
      │
      Q4. 決まった時間やメール受信で自動実行したい?
       ├─ はい → ★Office Scripts + Power Automate
       └─ いいえ → ★Office Scripts を検討

このフローの考え方はシンプルです。「手元のパソコンで完結し、他のアプリも操作したい」ならVBAが向いています。長年VBAで業務を回しているなら、無理に乗り換える必要はありません。

逆に「チームで共有したい」「ブラウザでも動かしたい」「定時に自動実行したい」ならOffice Scriptsが向いています。特に決まった時間に自動実行したい場合は、Power Automateとの連携が効果を発揮します。

VBAは「動かすパソコンが決まっている個人作業」に強いツールです。VBAで実際にどんな自動化ができるかは、ExcelのVBAで仕事を自動化する方法|実務シーン別に解説で具体例を確認できます。あわせて読むと、両者のイメージがくっきりしますよ。

なお、両方とも「コードを書かずに記録だけで作る」入口を持っています。VBA側の入口である「マクロの記録」については、Excelのマクロの記録の使い方|ボタン操作だけで自動化する方法で詳しく解説しています。Office Scriptsの「操作の記録」と見比べると、考え方の共通点が見えてきますね。

コードゼロで始める「操作の記録」7ステップ

ここからが、この記事のいちばんお伝えしたい部分です。Office Scriptsは「操作の記録(Action Recorder)」を使えば、コードを一行も書かずにスクリプトを作れます。

仕組みはVBAの「マクロの記録」とよく似ています。あなたがExcelで行った操作を裏側で記録し、自動的にTypeScriptのコードに変換してくれるのです(出典: Microsoft Support「Record your actions as Office Scripts」)。

ですから「TypeScriptが書けないと無理」と諦める必要はまったくありません。まずは記録して、再生する。それだけで自動化の第一歩を踏み出せます。

これから7つのステップに分けて、画面の流れに沿って解説していきますね。

「自動化」タブの開き方(Web版Excelでの確認手順)

まずは操作を記録するための「自動化」タブを開きます。これがOffice Scriptsの入口になります。

ブラウザでWeb版Excelを開き、自動化したいブックを表示してください。上部のリボンを見ると、「ホーム」や「挿入」と並んで「自動化」というタブがあります。これをクリックします。

もし「自動化」タブが見当たらない場合は、ライセンスや管理者設定が原因の可能性があります。前章で触れたとおり、法人・教育向けのMicrosoft 365でないと表示されないことがあります。

またWeb版Excelで使うには、ブラウザのサードパーティCookieを有効にしておく必要があります(出典: Microsoft Learn「Platform limits and requirements with Office Scripts」)。タブが出ない場合は、これらの設定も一度見直してみてくださいね。

記録開始→操作→停止→スクリプト確認の流れ

「自動化」タブを開けたら、いよいよ記録を始めます。ここからの4ステップが操作の記録の中心部分です。

まずステップ2として、「自動化」タブの中にある「操作を記録」(記録から作成)をクリックします。すると画面の右側にタスクペインが開きます。ここに、これから行う操作が一覧で記録されていきます。

次にステップ3として、自動化したい操作を普段どおりに実行します。たとえばセルに文字を入力したり、見出しに色を付けたり、表をテーブルに変換したりといった操作です。行った操作はリアルタイムでタスクペインに表示されていきます。

操作が終わったら、ステップ4として「停止」ボタンをクリックします。これで記録は終了です。緊張せず、普段のExcel操作をするだけで大丈夫ですよ。

そしてステップ5として、生成されたスクリプトを確認します。タスクペインには、あなたの操作がTypeScriptのコードに変換されて表示されています。たとえば、こんなイメージのコードが自動で作られます。

function main(workbook: ExcelScript.Workbook) {
  // 選択中のシートを取得
  let sheet = workbook.getActiveWorksheet();
  // A1セルに「売上集計」と入力
  sheet.getRange("A1").setValue("売上集計");
  // A1セルの文字を太字にする
  sheet.getRange("A1").getFormat().getFont().setBold(true);
}

このコードは、自分で書く必要はまったくありません。「ふーん、こういう形になるんだ」と眺めるだけで十分です。内容を理解できなくても、記録さえできていれば問題ありませんよ。

なお、操作の記録には2つのモードがあります。特定のセルアドレスを固定して記録する「絶対モード」と、開始セルからの相対位置で記録する「相対モード」です(出典: Microsoft Support「Record your actions as Office Scripts」)。最初は絶対モードのままで問題ありません。慣れてきたら使い分けてみてください。

保存したスクリプトを再実行する方法

最後の2ステップで、作ったスクリプトを保存して再利用します。ここまで来れば、もう自動化はあなたのものです。

ステップ6として、スクリプトに分かりやすい名前を付けて保存します。デフォルトでは「Script 1」「Script 2」という名前が付いています。タスクペインの「名前の変更」から、「売上集計フォーマット」など内容が分かる名前に変えておきましょう。スクリプトはOneDriveに自動保存されます。

ステップ7として、「実行」ボタンを押して動作を確認します。記録したとおりの操作が、一瞬で再現されれば成功です。手作業なら何分もかかる処理が、ワンクリックで終わるようになります。

一度保存したスクリプトは、以降いつでも「自動化」タブから呼び出して実行できます。毎朝の定型処理や、月末の集計フォーマット整えなど、繰り返す作業に向いています。

ここまでの流れを整理すると、(1)自動化タブを開く、(2)記録を開始、(3)操作する、(4)停止する、(5)スクリプトを確認、(6)名前を付けて保存、(7)実行で確認、という7ステップでした。コードを書かずにここまでできるのは、うれしいポイントですよね。

Office Scriptsを使う前に知っておきたい注意点

便利なOffice Scriptsですが、万能ではありません。VBAでできていたことが、Office Scriptsではできない場合もあります。

事前に「できないこと」を知っておくと、導入してから「あれ、動かない」と戸惑わずに済みます。ここでは主な制限事項と、逆に可能性が広がるポイントを紹介します。

落ち込む必要はありません。制限を理解した上で使えば、Office Scriptsは十分に頼れる相棒になりますよ。

使えない操作・制限事項

まず押さえておきたいのが、Office Scriptsはワークブックの中しか操作できないという点です。VBAのようにパソコン内の他のファイルを開いたり、別アプリを動かしたりはできません(出典: Microsoft Learn「Differences between Office Scripts and VBA macros」)。

次に、イベント駆動に対応していない点も覚えておきましょう。VBAでは「セルが変更されたら自動で動く」といった仕掛けが作れます。一方Office Scriptsは、手動実行かPower Automateフロー経由でしか起動できません(出典: Microsoft Learn「Differences between Office Scripts and VBA macros」)。

データ量にも上限があります。Web版Excelでは、リクエスト・レスポンスは5MB以内です。扱える範囲は500万セル以内とされています(出典: Microsoft Learn「Platform limits and requirements with Office Scripts」)。通常の事務作業なら十分な余裕ですが、巨大なデータを扱う場合は意識しておきましょう。

利用環境にも注意が必要です。TeamsでOffice Scriptsを使う場合、対応するのはブラウザ版のTeamsだけです。Windows・Mac・スマホアプリ版のTeamsでは使えません(出典: Microsoft Learn「Platform limits and requirements with Office Scripts」)。これらは制約ではありますが、知っていれば慌てずに対処できますね。

Power Automateとの連携で広がる可能性

ここまで制限の話が続きましたが、Office Scriptsには大きな武器があります。それがPower Automateとの連携です。これはVBAには真似のできない強みです。

Power Automateと組み合わせると、スクリプトを決まった時間に自動実行できます。たとえば「毎朝9時に売上ファイルを自動で集計する」といった運用が可能になります。メール受信などのイベントをきっかけに動かすこともできます(出典: Microsoft Learn「Differences between Office Scripts and VBA macros」)。

つまり、手元のパソコンを開いていなくてもクラウド上で処理が走るのです。VBAは誰かがファイルを開いてマクロを実行しないと動きませんでした。この差は、定型業務の自動化において非常に大きいです。

ただし連携にもルールがあります。Power Automate経由の実行は、1ユーザーあたり1日1,600回までです。同期操作のタイムアウトは120秒という制限もあります(出典: Microsoft Learn「Platform limits and requirements with Office Scripts」)。また、スクリプト内から外部APIを呼び出す処理は失敗します。最初のうちはこれらの上限に達することはまずないので、まずは気軽に試してみてくださいね。

VBAかOffice Scriptsか:結局どちらを選ぶべきか

ここまで読んで、両者の違いはだいぶ見えてきたのではないでしょうか。最後に「自分はどう動けばいいか」を立場別に整理します。

大切なのは、どちらか一方が絶対の正解ではないという点です。今の働き方とこれからの方向性によって、最適な答えは変わります。

あなたの状況に近いほうを読んで、次の一歩を決める参考にしてくださいね。

今VBAを使っている人向けの整理

すでにVBAで業務を回している方は、慌てて乗り換える必要はありません。デスクトップで完結する自動化なら、VBAは今も現役で通用するツールです。

特に、パソコン内の複数ファイルをまたいだ処理や、他アプリとの連携が必要な業務はVBAの独壇場です。これらはOffice Scriptsには真似できません。今の資産を捨てる必要はないのです。

検討すべきタイミングは、業務がクラウド共有に移行したときです。「ファイルをチームで共同編集するようになった」「Web版Excelで作業する場面が増えた」。こうした変化があれば、その業務だけOffice Scriptsへの移行を検討する価値があります。

つまりVBAとOffice Scriptsは「全面的に乗り換える」ものではありません。業務の性質ごとに使い分ければよいのです。VBAの理解をさらに深めたい方は、Excel VBA学習ロードマップ|初心者が挫折しない勉強の順番を解説も参考になりますよ。

これから自動化を始める人へのおすすめ

これから自動化を学び始める方には、まず自分の環境を確認することをおすすめします。法人・教育向けのMicrosoft 365を使っているなら、Office Scriptsの「操作の記録」から始めるのが手軽です。

理由は、クラウド前提の今の働き方と相性がよいからです。ブラウザで動き、チームで共有でき、Power Automateで自動実行までできます。これから長く使うことを考えれば、将来性のある選択肢といえます。

一方、個人向けライセンスを使っている場合や、デスクトップ完結の作業が中心の場合はVBAから入るのも良い選択です。VBAは追加ライセンス不要で、すぐに始められます。学習情報も豊富です。VBAでの最初の一歩は、Excel VBAマクロ入門|初めてのマクロを作る手順とよく使うコード10選が分かりやすいですよ。

迷ったら、まずは手を動かしてみるのがいちばんです。Office Scriptsの「操作の記録」なら、コードを書かずに数分で自動化を体験できます。「自分にもできた」という小さな成功体験が、次へのやる気につながります。

まとめ

ここまで、Office ScriptsとVBAの違いを比較し、「操作の記録」の7ステップを解説してきました。最後に要点を振り返りましょう。

  • Office Scriptsはクラウド対応の自動化ツールで、Web版Excelでも動く
  • VBAは手元のパソコンで完結し、他アプリ操作にも強い
  • 利用には法人・教育向けMicrosoft 365が必要(個人プランは2026年5月時点でプレビュー段階)
  • 「操作の記録」を使えばTypeScriptのコードを書かずに自動化できる
  • クラウド共有や定時自動実行が必要ならOffice Scripts、デスクトップ完結ならVBAが向いている

新しいツールと聞くと身構えてしまいますが、Office Scriptsは思ったよりずっと手軽です。まずは「自動化」タブを開いて、簡単な操作を記録するところから試してみてください。

VBAとOffice Scriptsは、どちらが正解という関係ではありません。あなたの仕事のスタイルに合わせて、上手に使い分けていきましょう。この記事が、その判断のお役に立てたならうれしいですよ。

タイトルとURLをコピーしました