Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
生徒
「Office ScriptsでExcelの作業を自動化したいんですが、テストデータを準備するのに時間がかかって困っています…。もっと効率よく作れる方法はありますか?」
先生
「Excel OnlineとOffice Scriptsを組み合わせれば、テストデータの準備を自動化して大幅に時間を短縮できますよ。大量のデータを一瞬で作成することもできます。」
生徒
「テストデータって毎回手作業で入力していて大変なんです…。自動化で本当にラクになりますか?」
先生
「もちろんです。簡単な設定とコードだけで、必要な量のテストデータを一括で作れます。では、Office Scriptsでの効率的なテストデータ準備の方法を一緒に学んでいきましょう。」
1. Office Scriptsとは?
Office Scriptsとは、Excel Online上で動作する自動化スクリプト環境のことです。Excelのセルへの入力、計算、シートの作成、テーブルの編集など、日常のExcel作業を自動化できます。プログラミング未経験の人でも、Excelで行っている操作をスクリプトとして記録・編集するだけで便利な処理が作れます。特に、大量のテストデータ作成のように繰り返し作業が多い処理では大きな効果を発揮します。
2. Office Scriptsの開発環境(Excel Onlineとコードエディタ)
Office Scriptsはインストール不要でExcel Onlineからすぐに使えます。「自動化」タブをクリックすると、スクリプトの一覧とコードエディタが表示されます。コードエディタはブラウザ上で動作し、書いたスクリプトはOneDriveに保存されるため、整理しやすく、どこでも編集できます。
テストデータの自動生成スクリプトを複数作る場合でも、エディタ内で管理しやすく、名前変更や実行も直感的に行えます。初心者でもすぐに扱えるシンプルな画面構成なので安心して学習できます。
3. Office Scriptsで使うTypeScript基礎
Office ScriptsはTypeScriptという言語で操作します。TypeScriptはJavaScriptをベースにした言語で「型」という仕組みを持ち、プログラムの動作を安定させる特徴があります。言語と聞くと難しそうですが、Excel操作に必要な文法はとてもシンプルです。
たとえば、セルに値を入れるコードは次のようになります。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1").setValue("こんにちは");
}
このように基本的なルールが分かれば、テストデータの作成処理も簡単に書けるようになります。
4. テストデータ自動生成に役立つプロジェクト構成とコード管理
テストデータを効率的に準備するためには、スクリプトの整理方法がとても重要です。「顧客データ用」「売上テスト用」「日付リスト生成用」など目的ごとにスクリプトを分けて作成すると、後からの修正や再利用が簡単になります。
さらに、よく使う処理を「共通関数」として一つにまとめておくと、他のスクリプトでもコピーして使えるため作業の負担が軽減します。スクリプト名にも意味のある名前を付けることで、後から見ても内容が理解しやすくなります。
5. Office Scriptsの基本文法とAPIを使ったデータ生成
テストデータ生成では「繰り返し処理」がよく使われます。たとえば100行のテストデータを作る場合、「同じ処理を100回繰り返す」という形になります。TypeScriptの基本文法では、for文(ループ処理)を使って簡単に大量データを作れます。
また、Office ScriptsのAPIを使えば、セルへの書き込み、テーブルへの行追加、日付の計算など、Excel操作をすべてコードで制御できます。これにより、手作業では時間がかかる大量データ作成が一瞬で完了します。
6. Excelワークブック/ワークシート操作で行うテストデータ準備の効率化
テストデータを作る前に、まず準備としてワークシートを整理することが大切です。たとえば、古いテストデータを削除して新しいデータを入れる領域を確保しておくなどの準備が必要です。Office Scriptsではワークシートのクリアや新規作成を自動で行えるため、準備の手間が省けます。
また、複数のワークシートに対して同じ処理をする場合も、一度スクリプトを書いておけば繰り返し実行できるので効率的です。
7. セル・レンジ操作を使ったテストデータ生成テクニック
セルへの値入力はテストデータ作成の基本です。名前リスト・数値データ・連番など、さまざまなテストデータをスクリプトで作れます。特に連番生成はテストデータでよく使われるため、自動化しておくと作業のスピードが大きく向上します。
ランダムな値を入れたい場合も、TypeScriptの乱数機能を使えば簡単に生成できます。例えば顧客ID、商品番号、テスト用の数値など、多様なデータを自動で作成できます。
8. テーブル操作(ListObject)を使った大量データ生成の自動化
Excelのテーブル機能を使うと、行追加・列操作が簡単になります。Office Scriptsはテーブルの操作に特化したAPIを持っているため、大量データの生成に非常に向いています。
テストデータをテーブルとして管理すると、フィルターやソート、追加データの扱いが楽になり、検証作業もスムーズに進みます。ループ処理で100行、1000行のテストデータも自動で追加できます。
9. テストデータ生成とファイル保存自動化(OneDrive/SharePoint)
大量のテストデータを作成した後は、保存作業も自動化しておくと便利です。Office ScriptsではOneDriveやSharePointと連携してファイル保存が行えます。日付ごとに自動で名前を付けて保存したり、指定フォルダにデータをまとめて管理したりできます。
テスト環境へのデータ投入前に、生成済みデータを複数のバージョンとして保存しておけば、後で比較したり、検証内容に応じて使い分けたりできて便利です。