カテゴリ: Office Scripts 更新日: 2026/01/28

Office Scriptsの基本文法とAPI基礎!main関数の仕組みとスクリプトの入口をやさしく理解しよう

main関数の仕組みとスクリプトの入口
main関数の仕組みとスクリプトの入口

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

生徒

「Office Scriptsのサンプルを見ると、必ずmainって書いてあるんですが、これは何なんですか?」

先生

「main関数は、スクリプトが動き出す最初の場所です。ここからExcelの自動操作が始まります。」

生徒

「書かないと動かないんですか?」

先生

「はい。Office Scriptsでは、main関数がスクリプトの入口になります。」

生徒

「プログラミングは初めてですが、理解できますか?」

先生

「玄関から家に入るイメージで説明するので安心してください。」

1. main関数とは何か?スクリプトのスタート地点

1. main関数とは何か?スクリプトのスタート地点
1. main関数とは何か?スクリプトのスタート地点

Office ScriptsでExcelを自動化するとき、必ず登場するのがmain関数です。関数という言葉は少し難しく聞こえますが、ここでは「作業のまとまり」くらいに考えて大丈夫です。main関数は、その中でも特別な存在で、Excelがスクリプトを実行するときに最初に呼び出す決まりの場所になっています。

たとえば家電のリモコンを想像してください。電源ボタンを押すと、テレビは必ず同じ場所から動き始めますよね。Office Scriptsにおけるmain関数は、その電源ボタンの役割を持っています。どんな処理を書く場合でも、Excelはまずmain関数を探し、そこから中の処理を上から順番に実行していきます。

2. なぜmainという名前なのか?決まりごとの大切さ

2. なぜmainという名前なのか?決まりごとの大切さ
2. なぜmainという名前なのか?決まりごとの大切さ

Office Scriptsでは、関数の名前が必ずmainでなければなりません。これはExcel側で「mainという名前の関数を実行する」と最初から決められているからです。名前を変えてしまうと、Excelは入口を見つけられず、スクリプトは動きません。

プログラミングでは、このような決まりごとをルール仕様と呼びます。初心者のうちは自由に名前を付けたくなりますが、Office Scriptsではこのルールを守ることがとても重要です。まずは「main関数は必須」「名前はmain固定」と覚えておくと安心です。

3. main関数の基本の形を見てみよう

3. main関数の基本の形を見てみよう
3. main関数の基本の形を見てみよう

それでは、実際のOffice Scriptsのコードを見てみましょう。以下が最も基本的なmain関数の形です。この形を覚えておくことで、Excel自動化の第一歩を踏み出せます。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  sheet.getRange("A1").setValue("こんにちは");
}

このコードでは、Excelの開いているシートを取得し、A1セルに文字を書き込んでいます。難しそうに見えますが、今は「main関数の中に処理を書くと、Excelが順番に実行してくれる」と理解できれば十分です。

4. workbook引数の役割をやさしく理解する

4. workbook引数の役割をやさしく理解する
4. workbook引数の役割をやさしく理解する

main関数のかっこの中にあるworkbookは、Excel全体を表す箱のようなものです。ワークブックとは、Excelファイルそのものを意味します。Office Scriptsでは、このworkbookを通してシートやセルにアクセスします。

例えるなら、workbookは「建物全体」、シートは「部屋」、セルは「机」のような関係です。まず建物を指定し、次に部屋を選び、最後に机の上に何かを書く、という流れになります。main関数は、その最初の建物を受け取る役目を持っています。


function main(workbook: ExcelScript.Workbook) {
  const sheets = workbook.getWorksheets();
  sheets[0].getRange("B2").setValue("最初のシートです");
}

5. main関数の中は上から順に動く

5. main関数の中は上から順に動く
5. main関数の中は上から順に動く

main関数の中に書いたコードは、上から下へ順番に実行されます。これはOffice Scriptsだけでなく、多くのプログラミング言語に共通する考え方です。処理の流れを意識することで、なぜその結果になったのかが理解しやすくなります。

たとえば、セルに値を書いてから別の値に書き換えると、最後に書いた内容だけが残ります。main関数は、Excelに対して「この順番で作業してください」と指示書を渡しているようなものです。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  sheet.getRange("C1").setValue("最初の文字");
  sheet.getRange("C1").setValue("上書きされた文字");
}

6. main関数がスクリプトの入口になる理由

6. main関数がスクリプトの入口になる理由
6. main関数がスクリプトの入口になる理由

Office Scriptsでは、スクリプトを実行するとExcelが自動的にmain関数を呼び出します。ユーザーが「実行」ボタンを押した瞬間、Excelは「main関数を実行する」という一つの動作しかしません。そのため、他に関数を書いたとしても、main関数から呼び出さなければ実行されません。

これは入口が一つに決まっていることで、初心者でも処理の流れを追いやすくするための仕組みです。どこから動いているかわからなくなる混乱を防ぐ、大切な設計になっています。

7. シンプルなmain関数でできるExcel自動化

7. シンプルなmain関数でできるExcel自動化
7. シンプルなmain関数でできるExcel自動化

最後に、もう一つシンプルな例を見てみましょう。main関数の中に数行書くだけで、Excelの操作を自動化できます。これがOffice Scriptsの大きな魅力です。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  sheet.getRange("A1:A3").setValues([
    ["りんご"],
    ["みかん"],
    ["ばなな"]
  ]);
}

このように、main関数はExcel操作のスタート地点であり、初心者が最初に理解すべき重要なポイントです。main関数の仕組みをしっかり押さえることで、Office Scriptsの基本文法やAPIの理解が一気に楽になります。

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法
New2
Office Scripts
Office Scripts普及の歴史とMicrosoftの方向性!Excel自動化が進化してきた流れをやさしく解説
New3
Excel VBA
Excel VBA関数を用途別に作成!計算・文字列処理の基本を初心者向けに解説
New4
Office Scripts
Office Scriptsで条件付き書式を自動化!数値変化に応じてExcelの書式を自動更新する方法
人気記事
No.1
Java&Spring記事人気No1
Excel VBA
Excelマクロのセキュリティ設定の基本!安全に実行するための信頼センター設定まとめ
No.2
Java&Spring記事人気No2
Office Scripts
Office Scriptsでできること・できないことを完全整理!Excel自動化の基本と限界をやさしく解説
No.3
Java&Spring記事人気No3
Excel VBA
目的別にモジュールを分割する方法!処理単位で整理して見やすくするテクニック
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAとOffice Scriptsの違いを比較!初心者でもわかる学ぶべきスキル
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBA基本文法の総まとめ!初心者が必ず押さえるべき20の基礎ポイント完全ガイド
No.6
Java&Spring記事人気No6
Office Scripts
Office Scriptsで条件付き書式を自動化!Excel自動化初心者向けスクリプト操作の基本
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.8
Java&Spring記事人気No8
Excel VBA
Excel VBAプロジェクト構成とモジュール管理を完全解説!初心者でも迷わない基本の考え方