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

Office Scriptsの基本!Excel自動化で使う関数とコードの書き方

複数シートを効率的に管理するスクリプト集
複数シートを効率的に管理するスクリプト集

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

生徒

「Excelでシートがたくさん増えてきて、名前を変えたり並べ替えたりするのが大変です。自動でできませんか?」

先生

「できます。Office Scriptsを使えば、Excelのワークシートをまとめて整理したり、同じ作業を一気に実行できます。」

生徒

「プログラミングはやったことがなくて、パソコンもあまり触ったことがありません……。」

先生

「大丈夫です。Excelでいつも手でやっている操作を、文章みたいなコードにするだけです。今日は複数シートを効率的に管理する方法を見ていきましょう。」

1. Office Scriptsとは?

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

Office Scripts(オフィス スクリプト)とは、Excel Onlineで使える自動化の仕組みです。 Excelの画面にある「自動化」タブからスクリプトを実行すると、人がマウスで操作する代わりに、Excelが自動で作業してくれます。 たとえば「シートを作る」「シート名を変更する」「いらないシートを削除する」といった作業を、まとめて一瞬で終わらせることができます。

難しそうに見えますが、考え方はとてもシンプルです。 いつも自分がExcelでやっている操作を、順番に文章で指示するイメージです。 この指示を書くために使うのが、TypeScript(タイプスクリプト)という言語ですが、Office ScriptsではExcel専用の命令が用意されているため、初心者でも読みやすい形になっています。

2. 複数シート管理が大変になる理由

2. 複数シート管理が大変になる理由
2. 複数シート管理が大変になる理由

Excelで作業をしていると、「月別シート」「部署別シート」「日付ごとのシート」など、ワークシートがどんどん増えていきます。 最初は問題なくても、シートが10枚、20枚と増えると、管理がとても大変になります。

たとえば、次のような経験はありませんか。 毎回同じ名前のシートを作っている、並び順がバラバラで探しにくい、不要なシートを消し忘れる、すべてのシートに同じ文字を入力したい。 これらはすべて、Office Scriptsで自動化しやすい作業です。

Office Scriptsを使うと、Excelのワークブック全体(すべてのシートをまとめたもの)を一度に操作できます。 これが「複数シートを効率的に管理する」という意味です。

3. ワークブックとワークシートの基本

3. ワークブックとワークシートの基本
3. ワークブックとワークシートの基本

ここで、基本用語を整理します。 ワークブックとは、Excelファイル全体のことです。 一方で、下のタブに並んでいる一枚一枚のページをワークシートと呼びます。

Office Scriptsでは、まずワークブックを操作対象として受け取り、そこからワークシートを取り出して操作します。 これは「箱(ワークブック)の中に、たくさんのノート(ワークシート)が入っている」と考えると分かりやすいです。

複数シート管理のスクリプトでは、「すべてのシートを取得する」「特定の名前のシートを探す」といった処理がよく登場します。

4. すべてのシート名を取得するスクリプト

4. すべてのシート名を取得するスクリプト
4. すべてのシート名を取得するスクリプト

まずは、ワークブックの中にあるすべてのワークシート名を取得する基本的なスクリプトを見てみましょう。 これは複数シート管理の土台になります。


function main(workbook: ExcelScript.Workbook) {
  const sheets = workbook.getWorksheets();
  sheets.forEach(sheet => {
    console.log(sheet.getName());
  });
}

このコードでは、「ワークブックに入っているシートを全部集めて、順番に名前を表示する」ということをしています。 getWorksheetsは「すべてのシートを取得する」という命令です。 forEachは「一つずつ順番に見る」という意味で、初心者の方は「全部のシートに同じことをするための仕組み」と覚えれば十分です。

5. シートを自動で作成・名前変更する

5. シートを自動で作成・名前変更する
5. シートを自動で作成・名前変更する

次は、複数のシートをまとめて作成し、名前を付ける例です。 毎回同じようなシートを手で追加する作業は、Office Scriptsが得意とする分野です。


function main(workbook: ExcelScript.Workbook) {
  const sheet = workbook.addWorksheet("売上集計");
  sheet.getRange("A1").setValue("売上データ");
}

このスクリプトを実行すると、「売上集計」という名前のワークシートが自動で作られます。 addWorksheetは「新しいシートを追加する」命令です。 Excelで「+」ボタンを押しているのと同じことを、コードで行っています。

このように、シート作成と初期設定を一度に行えるため、作業のミスや手間を減らすことができます。

6. 不要なシートをまとめて削除する

6. 不要なシートをまとめて削除する
6. 不要なシートをまとめて削除する

複数シート管理では、「もう使わないシートを削除する」場面もよくあります。 Office Scriptsを使えば、条件に合うシートだけをまとめて削除できます。


function main(workbook: ExcelScript.Workbook) {
  const sheets = workbook.getWorksheets();
  sheets.forEach(sheet => {
    if (sheet.getName().includes("旧")) {
      sheet.delete();
    }
  });
}

この例では、シート名に「旧」という文字が含まれているシートを削除しています。 includesは「この文字が含まれているか」を調べる命令です。 「旧データ」「旧版」など、名前のルールを決めておくと、自動整理がとても楽になります。

7. すべてのシートに同じ内容を書き込む

7. すべてのシートに同じ内容を書き込む
7. すべてのシートに同じ内容を書き込む

最後に、複数のワークシートすべてに同じ文字を入力する例です。 これは「注意書き」や「作成日」などを一括で入れたいときに便利です。


function main(workbook: ExcelScript.Workbook) {
  const sheets = workbook.getWorksheets();
  sheets.forEach(sheet => {
    sheet.getRange("A1").setValue("このシートは自動生成されています");
  });
}

人の手で一枚ずつ入力すると時間がかかりますが、Office Scriptsなら一瞬です。 このような積み重ねが、Excel作業の大きな時短につながります。

複数シートを効率的に管理するスクリプト集は、Excel自動化の第一歩としてとても重要です。 まずは「シートを取得する」「順番に処理する」という考え方に慣れていきましょう。

カテゴリの一覧へ
新着記事
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条件付き書式を自動化して期限管理をラクにする方法