Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
生徒
「Excelを毎日使っているんですが、同じ作業ばかりで大変です。Office ScriptsとPower Automateをつなぐと楽になるって聞いたんですが、本当ですか?」
先生
「Excel OnlineとPower Automateを組み合わせると、ボタンを押さなくても自動で処理が動くようになります。」
生徒
「パソコンもあまり触ったことがなくて不安です。それでも準備できますか?」
先生
「大丈夫です。今日はOffice ScriptsとPower Automateをつなぐための準備を、超基本から説明します。」
1. Office ScriptsとPower Automateの関係
Office Scriptsは、Excel Onlineで動く自動化の仕組みです。一方、Power Automateは「決まったきっかけで自動的に処理を実行するサービス」です。 たとえば「毎朝9時になったらExcelを整理する」「ファイルが保存されたら自動で計算する」といったことができます。
この2つを接続すると、人が操作しなくてもExcelが自動で動くようになります。 難しそうに見えますが、準備はチェック項目をそろえるだけなので、料理の下ごしらえのようなものだと考えてください。
2. Excel Onlineを使う準備
Power AutomateとOffice Scriptsを使うには、Excel Onlineが必要です。 Excel Onlineとは、ブラウザで使うExcelのことです。アプリ版Excelではなく、インターネット上で開くExcelを使います。
まず、OneDriveやSharePointにExcelファイルを保存してください。 これは「自動で動くロボットが、いつでもファイルを見つけられる場所」に置くためです。 パソコンの中だけに保存していると、自動化ができません。
3. Office Scriptsを有効にする
Excel Onlineを開いたら、画面上部にある「自動化」タブを確認します。 ここに「Office Scripts」という機能があります。 もし表示されていない場合は、会社や学校の設定で無効になっている可能性があります。
Office Scriptsは「Excelに動きを覚えさせるメモ帳」のようなものです。 ここに処理を書いておくことで、Power Automateから呼び出せるようになります。
4. Power Automateから呼び出せるスクリプトの条件
Power Automateと接続するためには、Office Scriptsの書き方に少しだけ決まりがあります。 一番大切なのは、main関数があることです。
main関数とは「このスクリプトを実行したときに最初に動く場所」です。 電化製品でいうと、電源スイッチのような役割です。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1").setValue("Power Automate準備完了");
}
このようなシンプルなコードでも、Power Automateから実行できます。 難しい処理は不要で、まずは「動くこと」を確認するのが大切です。
5. Power AutomateでOffice Scriptsを使う前の設定
Power Automateを使うには、Microsoftアカウントでログインしている必要があります。 Excel Onlineと同じアカウントであることが重要です。 違うアカウントだと、スクリプトが見つからずエラーになります。
Power Automateでは「Excel Online(Business)」というアクションを使います。 ここでOffice Scriptsを選択できるようになっていれば、接続準備はほぼ完了です。
6. Power Automateから実行されるイメージをつかもう
Power Automateは「合図係」、Office Scriptsは「作業係」だと考えてください。 合図が出たら、作業係がExcelを動かします。
たとえば「ボタンを押したらセルに文字を書く」という流れは、次のような役割分担になります。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("B2").setValue("自動実行されました");
}
このスクリプトをPower Automateから呼び出すだけで、Excelが勝手に書き換わります。 手で入力する必要はありません。
7. よくあるつまずきポイントと考え方
初心者の方がよく困るのは「何も起きない」「エラーが出る」という状態です。 その多くは、Excel Onlineではなくアプリ版Excelを使っていることが原因です。
また、スクリプトを保存していない場合もPower Automateから見えません。 書いたら必ず保存する、という基本動作を忘れないようにしましょう。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("C3").setValue("保存と準備が大切");
}
準備段階では「完璧な自動化」を目指さず、「つながったかどうか」を確認することが一番重要です。