Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
生徒
「Office ScriptsでExcelを自動化したいんですが、スクリプトってExcelとどうつながっているんですか? よく分からなくて…。」
先生
「Excelブックとスクリプトは特別な仕組みで紐づいていて、どのブックに対して実行するのかが自動で判断されるようになっているんですよ。Excel Onlineならすぐに試せます。」
生徒
「スクリプトがどのブックを操作するか自動で分かるんですか? パソコン初心者でも扱えますか?」
先生
「もちろん大丈夫です。今日はOffice Scriptsの開発環境と、Excelブックとスクリプトの紐付けの仕組みを、やさしく順番に説明しますね。」
1. Office Scriptsとは?
Office Scriptsとは、Excel Onlineで利用できるExcel自動化機能です。Excelの操作をコードに置き換えることで、同じ作業を何度でもワンクリックで実行できるようになります。たとえば、データ入力、表の作成、セルの書式変更、グラフ生成など、普段は手作業で行う処理をスクリプトが代わりに行います。Microsoft 365のクラウド環境で動くため、パソコンに特別なアプリを追加でインストールする必要もありません。パソコンの操作が苦手でも、Excel Onlineから簡単にスクリプトを呼び出せるので、業務効率化がぐっと身近になる仕組みです。
2. Office Scriptsの開発環境(Excel Onlineとコードエディタ)
Office Scriptsを使うためには、まずExcel Onlineが必要です。ブラウザでExcelを開くと、上部に「自動化」というタブが表示され、その中に「コードエディタ」があります。このコードエディタが、Office Scriptsを作成するための開発環境です。特別な設定をしなくても、Excel Onlineを開いた瞬間からスクリプト作成の準備が整っています。
コードエディタは画面右側に表示され、スクリプトを書くための入力欄と、実行ボタン、保存ボタンがまとまっています。初めての人でも迷わず操作できるように、必要な機能がすっきりと整理された構成になっています。また、エディタには自動補完機能があり、専門用語を覚えていなくても、候補が自動表示されるため安心して入力できます。
作成したスクリプトは自動的にOneDriveに保存され、どのExcelブックからでも呼び出せるようになっています。つまり、スクリプトが個別のブックに貼り付けてあるわけではなく、クラウド上のスクリプト一覧から実行される仕組みです。このあと詳しく説明する「Excelブックとスクリプトの紐付け」も、この保存方式と深く関係しています。
3. Excelブックとスクリプトの紐付けの仕組み
Office Scriptsでは、スクリプトはExcelブックの中に保存されているわけではありません。スクリプトはOneDriveに保存され、Excel Onlineで開いたときに「どのブックを操作するのか」が自動的に決まります。この仕組みを理解すると、Office ScriptsがどのようにExcelと連携しているのかがよく分かります。
スクリプトを書くとき、最初の関数は必ず main という名前になっており、次のようにExcelブックを受け取ります。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1").setValue("こんにちは");
}
この workbook は「今あなたが画面で開いているExcelブック」を指します。つまり、スクリプト自体はクラウドに保存されていても、実行した瞬間に開いているブックが自動的に対象となるのです。
日常生活で例えると、スクリプトは「どのノートに書くかは後で決めるシャープペン」のようなものです。シャープペン自体は筆箱に入っていても、書くときに開いているノートさえあればそこに文字を書けます。同じようにOffice Scriptsも、開いているExcelブックに対して処理を行う仕組みになっています。
さらに、スクリプトはExcelブックに依存しないため、別のブックでも同じスクリプトを再利用できます。これはExcelマクロ(VBA)と異なる特徴で、複数ファイルにまたがる作業を効率化したいときに非常に便利です。
4. スクリプトとExcel Onlineのつながりを理解するメリット
Excelブックとスクリプトの紐付けの仕組みを理解すると、Excel自動化の幅が大きく広がります。たとえば、同じ形式のExcelファイルが毎日届く場合、同じスクリプトを別のファイルに対して何度でも実行できます。また、OneDriveに保存されていればクラウド上で動くため、パソコンの環境が異なってもスクリプトは同じ動きをします。
初心者でも安心して使える理由の一つが、この「ブックに依存しない」というシンプルな構造です。複雑な設定をしなくても、スクリプトをクリックするだけで今開いているブックに処理が適用されるため、パソコン操作に不慣れな人でも扱えるようになっています。
5. Office Scriptsが自動化に強い理由
Office ScriptsがExcelの自動化に強いのは、クラウドと連携しているため、どのデバイスでも同じ動きを再現できることにあります。また、スクリプトがブックに埋め込まれていないので、複数のスクリプトを切り替えながら利用できる利点があります。たとえば、「テーブル作成スクリプト」「データ整理スクリプト」「グラフを作るスクリプト」など、用途ごとに分けて保存しておけば、状況に応じて選んで使えるようになります。
さらに、自動化処理は繰り返しの作業に大きな効果を発揮します。転記作業やセルの書き込み処理は人間が手作業で行うと時間がかかり、ミスも発生しやすいですが、スクリプトなら一瞬で正確に実行します。これらの仕組みが、Office Scriptsが企業や個人の業務効率化に選ばれている理由です。
6. 実行結果のイメージ
先ほどのスクリプトを実行すると、ExcelブックのA1セルに自動で文字が入力されます。これは実際に目で見える反応なので、初めての人でも「本当に自動化できたんだ」と実感しやすいポイントです。
A1セル → 「こんにちは」
このように、スクリプトとExcelブックの紐付けは難しい設定を必要とせず、開いているブックに対して自動で処理を行う構造になっています。この仕組みを知っておくと、今後のOffice Scripts学習がずっと楽になります。