Office Scriptsの基本文法とAPI基礎!Range(セル範囲)操作で学ぶExcel自動化の第一歩
生徒
「Excelでたくさんのセルをまとめて操作したいんですが、毎回ドラッグするのが大変です…」
先生
「それならOffice ScriptsのRange操作を覚えると楽になりますよ。セルの範囲をまとめて指定できます。」
生徒
「セルの範囲って、A1からC5みたいな指定のことですか?」
先生
「そうです。Office Scriptsでは、その範囲をRangeという仕組みで扱います。」
生徒
「パソコン操作が苦手でも理解できますか?」
先生
「大丈夫です。紙に表を書く感覚で説明していきます。」
1. Range(セル範囲)とは何か?
Office ScriptsにおけるRange(レンジ)とは、Excelのセルやセルのまとまりを指す仕組みです。普段ExcelでA1セルをクリックしたり、A1からD5までドラッグして選択したりしますが、その「選択した部分」をコードで表現したものがRangeです。
Excel自動化、Excelマクロ、Office Scripts、Excel Online、自動処理といったキーワードで検索されることが多く、Range操作は必ず最初に覚える重要なポイントです。パソコン初心者の方は「表のマス目をまとめて指定する方法」と考えると分かりやすいでしょう。
2. セルを1つ指定するRangeの基本
まずは一番シンプルな例です。A1セルだけを操作する場合、セル番号を文字で指定します。これはExcelを触ったことがない人でも、住所のようなものだと考えると理解しやすくなります。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const range = sheet.getRange("A1");
range.setValue("はじめてのOffice Scripts");
}
このコードでは、A1セルに文字を入力しています。「setValue」は「値をセットする」という意味の命令です。難しい言葉に見えますが、「セルに文字を書くボタン」だと思ってください。
3. 複数セルをまとめて指定する方法
Rangeは1つのセルだけでなく、複数のセルも指定できます。例えばA1からA5までの縦一列をまとめて操作することが可能です。これはExcel作業の時短、自動入力、データ整理でよく使われます。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1:A5").setValue("同じ文字を入力");
}
「A1:A5」は、A1からA5まで全部、という意味です。ドラッグ操作をコードに置き換えたイメージを持つと理解しやすくなります。
4. 行や列をまとめて操作する
Office Scriptsでは、行や列をまとめてRangeとして扱うこともできます。たとえば、1行目すべて、A列すべて、という指定が可能です。これは表全体の見出し作成や、データ初期化によく使われます。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("1:1").setValue("見出し行");
}
「1:1」は1行目すべてを意味します。Excel初心者の方は「横一列ぜんぶ」と覚えて問題ありません。
5. 数値を書き込んで計算の準備をする
Range操作は文字だけでなく、数字も扱えます。Excel自動化では、数値を入れて計算の土台を作ることが多く、Office Scriptsの基本APIとして重要です。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("B1").setValue(100);
sheet.getRange("B2").setValue(200);
}
数字はダブルクォーテーションを付けずに書きます。これは「数値」と「文字」を区別するためのルールです。パソコン操作が初めての方は、「数字はそのまま、文字はかぎかっこ」と覚えておくと便利です。
6. Rangeから値を読み取る考え方
Rangeは書き込むだけでなく、セルの中身を読み取ることもできます。読み取った値を別のセルに使うことで、Excel作業の自動化が一気に広がります。ここでは仕組みの考え方だけを押さえます。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const value = sheet.getRange("C1").getValue();
sheet.getRange("C2").setValue(value);
}
「getValue」は「中身を取り出す」という意味です。難しく考えず、「セルの中をのぞく命令」とイメージしてください。
7. Range操作を理解すると何ができる?
Range操作を理解すると、Excel Onlineでの繰り返し作業、自動入力、表作成、データ準備が一瞬で終わるようになります。Office Scripts、Excel自動化、TypeScript基礎、セル操作、業務効率化といった検索キーワードに強く関係する内容です。
プログラミング未経験でも、「セルを指定して、値を入れる」「まとめて操作する」という考え方を覚えるだけで、Excel作業が大きく変わります。RangeはOffice Scriptsの中でも特に重要な基礎なので、ゆっくり何度も読み返してください。