Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
生徒
「Office Scriptsって聞いたことはあるんですが、プロジェクト構成とかコード管理って何のことですか?」
先生
「Excelを自動で動かすための“設計図”の整理方法だと思ってください。どこに何を書くかを理解すると、迷わず作業できます。」
生徒
「パソコンにあまり慣れていなくても大丈夫ですか?」
先生
「大丈夫です。まずはOffice Scriptsの中身がどうなっているかを、順番に見ていきましょう。」
1. Office Scriptsのプロジェクト構成とは何か
Office Scriptsのプロジェクト構成とは、「Excelを自動化するためのコードが、どのような形でまとめられているか」という考え方です。 難しく聞こえますが、実際はとてもシンプルです。Office Scriptsでは、1つの自動化処理を1つのスクリプトとして管理します。 このスクリプトの中に、Excelを操作するための命令が順番に書かれています。
プログラミング未経験の方は、「プロジェクト」という言葉に身構えてしまうかもしれません。 ですが、Office Scriptsではフォルダを自分で作ったり、複雑な設定をしたりする必要はありません。 Excel Onlineの画面上で、スクリプトを作成し、その中にコードを書く、という流れだけで完結します。
2. スクリプト1本=1つの作業という考え方
Office Scriptsでは、「1つのスクリプトが1つの仕事を担当する」という考え方が基本です。 たとえば、「A1セルに文字を書く」「新しいシートを作る」といった作業を、それぞれ独立したスクリプトとして保存できます。 これは、家電のリモコンに例えると分かりやすいです。 電源ボタン、音量ボタン、チャンネルボタンが分かれているように、スクリプトも役割ごとに分けておくと管理が楽になります。
このように分けておくことで、あとから修正するときも「どのスクリプトを直せばいいか」がすぐに分かります。 これがOffice Scriptsにおける基本的なコード管理の考え方です。
3. main関数が入口になる理由
Office Scriptsのコードには、必ずmainという名前の関数が登場します。
関数とは、「やることをまとめた箱」のようなものです。
Excelがスクリプトを実行するとき、まずこのmain関数を探して、中に書かれている命令を上から順番に実行します。
これは、学校のチャイムのようなものだと考えてください。 チャイムが鳴ると授業が始まるように、main関数があることで「ここから処理が始まりますよ」という合図になります。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1").setValue("はじめてのOffice Scripts");
}
このコードでは、現在開いているシートを取得し、A1セルに文字を書いています。 プロジェクト構成としては、このmain関数がスクリプト全体の中心になります。
4. コードは上から下へ読む
Office Scriptsのコード管理で大切なのは、「上から下に順番に読む」という意識です。 人が料理のレシピを読むとき、いきなり最後を見ることはありません。 材料、手順1、手順2と順番に進めます。 Office Scriptsのコードも同じで、書いた順番に実行されます。
そのため、プロジェクト構成を考えるときは、「どの操作を先に行うか」を意識して並べることが重要です。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1").setValue("1行目");
sheet.getRange("A2").setValue("2行目");
}
この場合、A1セルに文字を書いたあとで、A2セルに文字が書かれます。 この順番が、コード管理の基本になります。
5. 変数を使ってコードを整理する
変数とは、「後で使うためのメモ」のようなものです。 Office Scriptsでは、シートやセルを変数に入れておくことで、コードが読みやすくなります。 読みやすいコードは、管理しやすいコードでもあります。
プロジェクト構成を考えるうえで、「何を変数としてまとめるか」を意識するだけで、スクリプト全体がすっきりします。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const titleCell = sheet.getRange("B1");
titleCell.setValue("タイトル");
}
このように名前を付けることで、「何のためのセルか」がすぐに分かります。 これもコード管理の大切なポイントです。
6. スクリプト名で役割を分かりやすくする
Office Scriptsでは、スクリプト自体に名前を付けられます。 この名前が、そのままプロジェクト構成の分かりやすさにつながります。 たとえば、「売上表作成」「初期設定」など、何をするスクリプトかが分かる名前にすると便利です。
名前を適当に付けてしまうと、後から見たときに内容が分からなくなります。 ノートの表紙にタイトルを書くのと同じ感覚で、スクリプト名も大切にしましょう。
7. Office Scriptsでのコード管理の考え方
Office Scriptsのコード管理は、「難しい管理ツールを使うこと」ではありません。 シンプルなスクリプトを、役割ごとに分けて保存することが基本です。 そして、main関数を入口として、上から下へ分かりやすく書くことが重要です。
プログラミングが初めての方でも、この考え方を押さえておけば、 Excel自動化のスクリプトを安心して増やしていくことができます。