カテゴリ: Office Scripts 更新日: 2026/03/22

Office Scriptsの基本!VBAから移行する人向けTypeScript入門

VBAから移行する人向けTypeScript入門
VBAから移行する人向けTypeScript入門

先生と生徒の会話形式で理解しよう

生徒

「今までExcelはVBAで自動化してきたんですが、Office ScriptsではTypeScriptを使うと聞いて不安です…」

先生

「VBA経験があるなら大丈夫です。考え方は似ていますし、TypeScriptの方が安全で分かりやすい部分も多いですよ。」

生徒

「VBAと何が一番違うんですか?コードの書き方も全然違いそうで…」

先生

「今日は、VBAからOffice Scriptsへ移行する人向けに、TypeScriptの基本をExcel操作に絞って説明します。」

1. Office Scriptsとは?

1. Office Scriptsとは?
1. Office Scriptsとは?

Office Scriptsは、Excel Onlineで使える自動化スクリプト機能です。Excelの「自動化」タブから実行でき、セルの値変更、計算、シート操作などをまとめて自動化できます。

従来のVBAはデスクトップ版Excelが中心でしたが、Office Scriptsはクラウド上のExcelで動作します。そのため、インストールやセキュリティ設定を気にせずに使えるのが特徴です。

2. VBAとOffice Scriptsの大きな違い

2. VBAとOffice Scriptsの大きな違い
2. VBAとOffice Scriptsの大きな違い

VBAから移行する人が最初に戸惑うのは、「言語が違う」ことです。VBAはExcel専用の言語ですが、Office ScriptsではTypeScriptを使います。

ただし、目的は同じです。どちらも「Excelを自動で操作する」ためのものです。VBAの「Workbook」「Worksheet」「Range」という考え方は、Office Scriptsでもそのまま登場します。

3. TypeScriptはVBAより厳しいが親切

3. TypeScriptはVBAより厳しいが親切
3. TypeScriptはVBAより厳しいが親切

TypeScriptは、VBAよりもルールが厳しい言語です。最初は「エラーが多い」と感じるかもしれません。

しかしこれは欠点ではありません。TypeScriptは、実行する前に「ここは間違っているかもしれません」と教えてくれます。VBAでは実行してから気づいていたミスを、事前に防げるのが大きな違いです。

4. VBAのSubとTypeScriptのmain関数

4. VBAのSubとTypeScriptのmain関数
4. VBAのSubとTypeScriptのmain関数

VBAではSubプロシージャから処理が始まりました。Office Scriptsでは、必ずmain関数から処理が始まります。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  sheet.getRange("A1").setValue("VBAから移行");
}

VBAのSubと同じように、「ここがスタート地点」と覚えれば問題ありません。

5. セル操作の考え方はVBAとほぼ同じ

5. セル操作の考え方はVBAとほぼ同じ
5. セル操作の考え方はVBAとほぼ同じ

VBAではRange("A1").Valueのように書いていましたが、Office Scriptsでもセル操作の流れは同じです。

「シートを取得して、セルを指定して、値を設定する」という順番は変わりません。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  sheet.getRange("B1").setValue(100);
}

VBA経験者なら、この流れはすぐに理解できます。

6. 型という考え方がVBAとの最大の違い

6. 型という考え方がVBAとの最大の違い
6. 型という考え方がVBAとの最大の違い

VBAでは、変数の型をあまり意識せずに書ける場面が多くありました。一方、TypeScriptでは「型」をはっきり決めます。

型とは、「この変数には何が入るか」というルールです。Excelで言えば、「文字専用」「数字専用」の箱を用意する感覚です。


function main(workbook: ExcelScript.Workbook) {
  const total: number = 500;
  workbook.getActiveWorksheet().getRange("C1").setValue(total);
}

この型指定のおかげで、計算ミスやデータの取り違えが減ります。

7. VBAのWith構文はメソッドチェーンに近い

7. VBAのWith構文はメソッドチェーンに近い
7. VBAのWith構文はメソッドチェーンに近い

VBAのWith構文を使っていた人は、Office Scriptsのメソッドチェーンに親しみやすいはずです。

処理を点でつなげて書くことで、Excel操作の流れをそのままコードにできます。


function main(workbook: ExcelScript.Workbook) {
  workbook.getActiveWorksheet().getRange("D1").setValue("TypeScript");
}

「Workbook → Worksheet → Range → 値設定」という流れが、左から右に読めます。

8. VBA経験者が安心して移行するための考え方

8. VBA経験者が安心して移行するための考え方
8. VBA経験者が安心して移行するための考え方

VBAからOffice Scriptsへ移行するときは、「全部新しく覚える」と考えなくて大丈夫です。Excel操作の考え方は共通しています。

違うのは書き方と安全性です。TypeScriptは、最初は厳しく感じますが、慣れると「ミスを防いでくれる相棒」になります。VBAで培ったExcel自動化の経験は、そのままOffice Scriptsでも活かせます。

カテゴリの一覧へ
新着記事
New1
Excel VBA
VBAの基本構造を理解しよう!モジュール・プロシージャ・関数の役割まとめ
New2
Office Scripts
Office Scriptsで大量シートを効率管理!Excelワークブック最適構造と自動化テクニック
New3
Excel VBA
Excel VBAが今でも使われ続ける理由とは?現場で評価されるポイントを徹底解説
New4
Excel VBA
VBAのIf文の使い方を完全ガイド!初心者でもわかる条件分岐
人気記事
No.1
Java&Spring記事人気No1
Office Scripts
Office Scriptsで別ブックを開いてデータ取得する方法|OneDrive・SharePoint連携でExcel自動化
No.2
Java&Spring記事人気No2
Excel VBA
Excel VBA参照設定エラー「参照が見つかりません」を完全解説!初心者でも原因と対処法がわかる
No.3
Java&Spring記事人気No3
Excel VBA
個人用マクロブック(PERSONAL.XLSB)で作る最強の共通ライブラリ化ガイド
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAは今後なくなる?将来性と企業での活用状況を詳しく解説
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.6
Java&Spring記事人気No6
Excel VBA
VBAのコメントの書き方を完全ガイド!初心者でもわかる説明文の付け方
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAモジュール共有術!複数のブックでマクロを使い回す最適構成
No.8
Java&Spring記事人気No8
Excel VBA
Excel VBAのブレークポイント設定と使い方!初心者でも理解できるデバッグの基本