Office Scriptsの基本!簡単サンプルで学ぶ型付きExcel操作
生徒
「Office Scriptsのサンプルを見ると、型って書いてあって難しそうです。型付きExcel操作って何ですか?」
先生
「型というのは、Excelで扱うデータの種類を先に決めておくことです。実は、簡単なサンプルで覚えると、とても分かりやすいですよ。」
生徒
「プログラミング未経験でも大丈夫ですか?」
先生
「もちろんです。今日は、型付きExcel操作を、超シンプルな例で一緒に確認していきましょう。」
1. Office Scriptsとは?
Office Scriptsは、Excel Onlineで使える自動化スクリプト機能です。Excelの「自動化」タブからスクリプトを実行でき、セルの値入力、計算、シート操作などを自動で行えます。
Office Scriptsでは、TypeScriptという言語を使います。TypeScriptの特徴は、Excelで扱うデータに「型」を付けて、安全に操作できる点です。
2. 型付きExcel操作とは何か
型付きExcel操作とは、「このセルには文字を入れる」「この値は数字として扱う」といったルールを、コードで明確にすることです。
Excelでも、文字と数値を間違えると計算がうまくいかないことがありますよね。TypeScriptの型は、そのミスを事前に防ぐ役割を持っています。
3. 最初に覚えたい基本の型
初心者がまず覚える型は、とても少ないです。文字を表すstring、数字を表すnumber、この2つを知っていれば十分です。
これは、「文字専用の箱」「数字専用の箱」を用意するイメージです。違うものを入れようとすると、TypeScriptが教えてくれます。
4. 型付きで文字をExcelに書く簡単サンプル
まずは、文字を型付きでExcelのセルに書き込む、最も簡単なサンプルです。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const message: string = "こんにちは";
sheet.getRange("A1").setValue(message);
}
この例では、「messageは文字です」と型を指定しています。Excelに文字を書くだけですが、型を付けることで安全なコードになります。
5. 数字を扱う型付きExcel操作サンプル
次は、数字を扱う例です。Excelで点数や金額を扱う場面を想像してください。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const score: number = 95;
sheet.getRange("B1").setValue(score);
}
number型を使うことで、「計算できる数字」であることがはっきりします。文字と混ざらないため、Excel自動化でも安心です。
6. 型付きオブジェクトでExcel操作を分かりやすくする
少し慣れてきたら、複数のデータをまとめて扱うこともできます。これをオブジェクト型と言います。
type Person = {
name: string;
age: number;
};
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const person: Person = { name: "佐藤", age: 30 };
sheet.getRange("A2").setValue(person.name);
sheet.getRange("B2").setValue(person.age);
}
このように型をまとめると、「どんな情報をExcelに書いているのか」が一目で分かります。デバッグもしやすくなります。
7. 型付きExcel操作が初心者に向いている理由
型付きExcel操作は、難しいテクニックではありません。むしろ、初心者がミスを減らすための仕組みです。
Office ScriptsとTypeScriptでは、エラーが起きる前に注意してくれるため、「なぜ動かないのか分からない」という状態を減らせます。
8. 簡単サンプルから始めるのが一番の近道
型付きExcel操作は、最初は小さなサンプルで十分です。文字を書く、数字を書く、その積み重ねがExcel自動化の基礎になります。
Office Scriptsでは、「Excelで普段やっている作業を、そのまま型付きで書く」ことを意識すると、自然にTypeScriptにも慣れていきます。