Office Scriptsの基本!Excel自動化で使うインターフェイスとスクリプト設計の考え方
生徒
「Office ScriptsでExcelを自動化できると聞いたんですが、インターフェイスって何ですか?パソコンもあまり触ったことがなくて…」
先生
「インターフェイスは、スクリプトの中で使う“データの形を決める設計図”のようなものです。Excelの作業を安全に、わかりやすく自動化するためにとても役立ちます。」
生徒
「設計図ってことは、Excelの表を作る前に決めるルールみたいな感じですか?」
先生
「そのイメージで大丈夫です。では、Office Scriptsで使うTypeScriptのインターフェイスを、基礎から順番に見ていきましょう。」
1. Office ScriptsとTypeScriptの関係
Office Scriptsは、Excel Onlineで動く自動化ツールです。Excelの操作を手作業ではなく、プログラムでまとめて実行できるのが大きな特徴です。そのときに使われているプログラミング言語がTypeScriptです。
TypeScriptは、JavaScriptをもとに作られた言語で、「データの種類」や「形」をしっかり決めてから書くことができます。これにより、間違いに気づきやすく、初心者でも安全にExcel自動化スクリプトを書けるようになります。Office Scriptsでは、このTypeScriptの考え方がとても重要になります。
2. インターフェイスとは何かを超やさしく説明
インターフェイスとは、「このデータは、こういう項目を持っていますよ」と決めるためのルール表です。たとえば、紙の申込書を想像してください。名前を書く欄、住所を書く欄、電話番号を書く欄がありますよね。インターフェイスは、これとまったく同じ役割をします。
Office ScriptsでExcelを自動化するときも、「このデータには、どんな情報が入るのか」を先に決めておくと、スクリプトがとても読みやすくなります。特に初心者の方にとっては、迷子にならないための地図のような存在です。
3. インターフェイスの基本的な書き方
では、実際にOffice Scriptsで使えるTypeScriptのインターフェイスを見てみましょう。ここでは「Excelの1行分のデータ」を表す簡単な例を使います。
interface RowData {
name: string;
age: number;
}
この例では、「nameは文字」「ageは数字」と決めています。stringは文字、numberは数字という意味です。これを使うことで、Excelのセルから取得したデータが、どんな形なのかを明確にできます。インターフェイス自体は処理を実行しませんが、スクリプト全体のルールを支える重要な存在です。
4. Office Scriptsでインターフェイスを使う理由
「なくても動くなら、なぜインターフェイスを使うの?」と思うかもしれません。理由はとてもシンプルで、ミスを減らし、後から見ても理解しやすくするためです。
Excel自動化のスクリプトは、少し長くなると「どこで何をしているのか」が分かりにくくなりがちです。インターフェイスを使うと、「この処理は、この形のデータを扱っている」と一目で分かります。これは、将来スクリプトを修正するときにも大きな助けになります。
5. インターフェイスを使った簡単なスクリプト例
次に、インターフェイスを使ってExcelのセルに値を書き込むOffice Scriptsの例を見てみましょう。ここでは、固定のデータをシートに表示します。
interface Person {
name: string;
message: string;
}
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const data: Person = {
name: "田中",
message: "こんにちは"
};
sheet.getRange("A1").setValue(data.name);
sheet.getRange("B1").setValue(data.message);
}
このようにインターフェイスを使うと、「dataには何が入っているのか」がすぐに分かります。Excelの自動化処理を考えるときも、頭の中が整理しやすくなります。
6. スクリプト設計の考え方(初心者向け)
スクリプト設計と聞くと難しそうですが、考え方はとても簡単です。「最初に何を扱うか決める」「次に処理を書く」という順番を守るだけです。インターフェイスは、この最初の段階で使います。
たとえば、「Excelの表から名前とメッセージを扱う」と決めたら、その形をインターフェイスで表します。そうすると、後の処理はその設計図に沿って書くだけになります。これは、料理で言えばレシピを先に確認してから調理するのと同じです。
7. 別パターンのインターフェイス活用例
最後に、数値を扱う別のパターンを見てみましょう。Excelの計算結果をセルに表示する例です。
interface Result {
total: number;
}
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
const result: Result = {
total: 100
};
sheet.getRange("A2").setValue(result.total);
}
このように、インターフェイスは文字だけでなく数字にも使えます。Office ScriptsとTypeScriptの基礎として、インターフェイスを理解しておくと、Excel自動化の幅が大きく広がります。