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

Office Scriptsの基本!共通処理を再利用するためのモジュール化でExcel自動化を効率化する方法

共通処理を再利用するためのモジュール化
共通処理を再利用するためのモジュール化

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

生徒

「Office Scriptsで似たような処理を何度も書いているんですが、もっと楽な方法はないですか?」

先生

「ありますよ。同じ処理をまとめて再利用できる“モジュール化”という考え方を使います。」

生徒

「モジュールって難しそうですが、初心者でも大丈夫でしょうか?」

先生

「大丈夫です。Excelでよく使う作業をテンプレート化する感覚で考えると、とてもわかりやすいですよ。」

1. Office Scriptsとは?

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

Office Scriptsは、Excel Onlineで使えるExcel自動化のための仕組みです。毎日同じ操作を繰り返す作業を、プログラムとして保存し、ボタン一つで実行できます。セルに文字を書く、色を変える、表を整えるなど、人がマウスで行っている操作をコードで再現します。

プログラミング未経験でも、Excelの操作を順番に書くだけで動かせるため、業務効率化や作業時間の短縮にとても役立ちます。

2. 共通処理とは何か

2. 共通処理とは何か
2. 共通処理とは何か

共通処理とは、何度も同じ内容を行う作業のことです。たとえば「見出しを入力する」「完了メッセージを表示する」「セルの色を変える」といった処理は、別のスクリプトでも何度も使います。

これを毎回書き直すと、時間がかかるだけでなく、修正が必要になったときに全部直さなければならなくなります。そこで、同じ処理をまとめて再利用できる形にするのが重要になります。

3. モジュール化をやさしく理解しよう

3. モジュール化をやさしく理解しよう
3. モジュール化をやさしく理解しよう

モジュール化とは、共通処理を「部品」としてまとめる考え方です。料理で例えると、下ごしらえを先に済ませておき、必要なときに使うイメージです。

Office Scriptsでは、複数ファイルを使った本格的なモジュール分割はできませんが、同じスクリプト内で関数として整理することで、十分にモジュール化の考え方を取り入れられます。

4. 共通処理をまとめていないコード例

4. 共通処理をまとめていないコード例
4. 共通処理をまとめていないコード例

まずは、共通処理をそのまま何度も書いている例を見てみます。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  sheet.getRange("A1").setValue("完了");
  sheet.getRange("A1").getFormat().getFill().setColor("#CCFFCC");

  sheet.getRange("A2").setValue("完了");
  sheet.getRange("A2").getFormat().getFill().setColor("#CCFFCC");
}

同じ処理が何度も出てきており、後から見たときに分かりづらくなります。

5. 関数としてまとめたモジュール化の例

5. 関数としてまとめたモジュール化の例
5. 関数としてまとめたモジュール化の例

次に、共通処理を関数としてまとめた例です。この関数が「モジュールの代わり」になります。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  setComplete(sheet, "A1");
  setComplete(sheet, "A2");
}

function setComplete(sheet: ExcelScript.Worksheet, address: string) {
  sheet.getRange(address).setValue("完了");
  sheet.getRange(address).getFormat().getFill().setColor("#CCFFCC");
}

処理内容が一か所にまとまり、修正も簡単になります。

6. 別の処理でも再利用できるメリット

6. 別の処理でも再利用できるメリット
6. 別の処理でも再利用できるメリット

モジュール化した関数は、別のセルや別のシートでもそのまま使えます。これはOffice Scriptsのコード管理においてとても大切な考え方です。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  writeTitle(sheet, "売上表");
}

function writeTitle(sheet: ExcelScript.Worksheet, title: string) {
  sheet.getRange("A1").setValue(title);
}

同じ関数を使い回すことで、スクリプト全体が整理されます。

7. 初心者が意識したいモジュール化のコツ

7. 初心者が意識したいモジュール化のコツ
7. 初心者が意識したいモジュール化のコツ

最初から完璧に分ける必要はありません。「同じ処理を2回以上書いたらまとめる」というルールだけで十分です。関数名は、自分が見てすぐ分かる名前を付けましょう。

Office Scriptsでのモジュール化は、難しい技術ではなく、読みやすく、直しやすいコードを書くための工夫です。Excel自動化を続けるほど、その便利さを実感できます。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.getActiveWorksheet();
  showMessage(sheet, "処理が終了しました");
}

function showMessage(sheet: ExcelScript.Worksheet, text: string) {
  sheet.getRange("C1").setValue(text);
}
カテゴリの一覧へ
新着記事
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
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法