Office Scriptsの基本!Excel自動化で使う関数とコードの書き方
生徒
「Office ScriptsでExcelの操作を自動化したいんですが、どんなコードを書けばいいんですか?」
先生
「Office ScriptsはTypeScriptという言語を使ってExcelのセルやシートを操作できますよ。簡単なコードで Excel を動かせます。」
生徒
「どんなふうにExcelを自動化するんですか?」
先生
「それでは、Office Scriptsの基本的な書き方を一緒に見ていきましょう!」
1. Office Scriptsとは?
Office ScriptsはExcel Onlineで使えるクラウド型の自動化機能で、Excelの操作をスクリプトとして記録・実行できます。セルを入力したり、ワークシートを追加したり、グラフを作ったりといった操作をコード化できるため、業務の効率化にとても役立ちます。特にExcelを頻繁に使う人にとって、クリック操作を繰り返す代わりにボタンひとつで作業を進められることは大きなメリットです。Excel VBAのような「パソコンにインストールされたExcel」ではなく、ブラウザ上で動くExcel Onlineで動作するのが特徴です。
2. Office Scriptsの基本と歴史
Office Scriptsが登場した背景には、企業のクラウド移行が進み、Excelをオンラインで利用する機会が増えたことがあります。従来のExcel VBAはWindows版のExcelに依存しており、Macやスマホ、タブレットでは動作しないことが多く、環境によっては自動化が難しいという課題がありました。そこでMicrosoftは、ブラウザ上で動作し、OSに依存しない新しい自動化手段としてOffice Scriptsを導入しました。
また、Office ScriptsはTypeScriptという最新のプログラミング言語を土台としており、将来的にPower Automateと組み合わせて高度なクラウド自動化もできるように設計されています。この背景を知っておくと、Excel VBAとの違いも理解しやすくなります。
3. Excel VBAとの違いと使い分けポイント
Office Scriptsを学ぶ際、多くの人が最初に気になるのが「Excel VBA(Visual Basic for Applications)と何が違うのか?」という点です。ここでは初心者にもわかりやすいように、日常の例えを用いながら比較します。
● 動作する場所の違い
Excel VBAはWindowsのExcelが入っているパソコンの中で動きます。つまり、そのパソコンの中だけで使える自動化です。例えば家の台所でしか使えない調理器具のようなイメージです。
一方、Office Scriptsはクラウド上で動くため、どの端末からでも同じスクリプトを利用できます。家でも職場でもスマホでも、同じレシピで料理できる共有キッチンのようなものです。
● 言語の違い
Excel VBAはVisual Basicという昔からある言語を使います。それに対してOffice ScriptsはTypeScriptという現代的な言語を使います。TypeScriptはJavaScriptの仲間で、Web開発にも使われているため、クラウドサービスとの相性がよい点が特徴です。
● 拡張性と連携の違い
Office ScriptsはPower Automateと連携することで、Excel以外のサービスとも簡単に接続できます。例えば、「毎日決まった時間にOneDriveのExcelファイルを読み取り、自動でメールを送る」といった処理も可能です。これはクラウド自動化の大きな強みです。
● 管理しやすさの違い
Office ScriptsはWeb上にコードが保存され、バージョン管理もしやすいため、複数人での作業に向いています。一方、VBAはExcelファイルの中にコードが保存されるため、他の人と共有するときに注意が必要です。
● 使い分けのポイント
もしあなたがExcel Onlineで作業することが多かったり、クラウド環境でデータを扱いたいならOffice Scriptsが向いています。逆に、Windows版Excelの高度な機能を使ったり、既存のVBA資産がある場合はVBAが強みを発揮します。両方の特徴を理解し、目的に応じて選ぶことが大切です。
4. Office ScriptsとTypeScriptの関係
Office Scriptsでコードを書くときは、TypeScriptというプログラミング言語を使います。TypeScriptはJavaScriptに型(データの種類)をつけて安全に扱うための言語で、プログラミング初心者にとっても学びやすい構造になっています。「数字」「文字」「真偽値(はい・いいえの値)」といった基本的な型を理解することで、Excelのセル操作もスムーズに行えるようになります。TypeScriptはWeb開発でも使われているため、Office Scriptsで基礎を学ぶことは、今後のスキルアップにも役立ちます。
5. Office Scriptsのコードの基本構造
Office Scriptsのコードは基本的に「main」という関数から始まります。このmain関数の中で、Excelのワークブックやシートに対する操作を書いていきます。コード全体は短くてシンプルに見えますが、その中でシートを取得したり、セルに値を入力したりといったExcelの細かな操作が可能です。初心者にとっても読みやすく、無理なく学べる構造になっています。
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1").setValue("こんにちは");
}
このように、数行のコードでExcelのセルに文字を書き込むことができます。実際に動かしてみると、Excelの自動化がとても身近に感じられます。
6. Excel Onlineで動くスクリプト環境
Office Scriptsが動作するのはExcel Onlineです。Excel Onlineはブラウザから利用でき、インストール不要でどのデバイスでも同じ環境を再現できます。ブラウザ上には「コードエディタ」が備わっており、そこでスクリプトを編集・保存・実行できます。従来のVBAのように「開発」タブを有効化する手間がなく、初心者でもすぐにスクリプト作成を始められる点が大きな魅力です。
7. Office Scriptsを使うメリット
Office Scriptsにはさまざまな利点があります。まず、クラウドで自動化が完結するため、パソコンの性能に依存せず安定して動作します。また、複数人で同じスクリプトを共有することができ、作業の標準化にもつながります。さらに、Power Automateとの連携によって、Excel以外のサービスも含めた広範な自動化が可能になります。例えば、Teamsに通知を送ったり、SharePointにデータを保存したりといった操作もスクリプトから行えます。
8. Excel VBAとの共存
Office Scriptsが登場したからといって、Excel VBAが不要になるわけではありません。VBAはローカル環境での高度なExcel操作が得意であり、これまで築かれてきた多くのVBA資産は今後も活用できます。一方で、クラウドでの共同作業やオンライン連携が必要な場面では、Office Scriptsがより適した選択肢になります。つまり、両者は競合ではなく、目的によって選び分ける「共存する自動化手段」なのです。
9. Office Scriptsの今後と学習の広がり
Office ScriptsはMicrosoft 365の進化に合わせて継続的にアップデートされています。特に企業でのクラウド業務が増える中、今後ますます利用が広がると考えられています。Office Scriptsを学ぶことは、Excelの基本操作だけでなく、クラウド技術や自動化の仕組みに触れるきっかけにもなります。初心者が最初に学ぶ自動化としても最適で、VBAよりも現代的な技術に適応したスキルを身につけられる点も魅力です。
まとめ
Office Scriptsは、Excel Onlineでの作業効率を大きく高める自動化手段として、さまざまな業務場面で活用できます。特に、TypeScriptという現代的な言語を土台にしているため、クラウド環境との親和性が高く、複数人で作業する場面でも同じスクリプトを共有しながら業務の標準化を進められるという強みがあります。これまでローカル環境で主流だったExcel VBAとは異なり、端末を選ばずに同じ処理を実行できる点は、クラウド時代における柔軟な働き方に非常に適しています。 また、Office Scriptsのコードは短く読みやすい構造であり、初心者でもExcelのセル入力やワークシート操作などを直感的に学べるようになっています。学んだ知識を生かして、日常のExcel操作を自動化することで作業時間の削減につながり、繰り返し操作の負担も減らせます。特に、データ入力や集計のように何度も同じ操作を行う業務では、大きな省力化効果を発揮します。 さらに、Power Automateとの連携によって、ExcelだけでなくTeamsやSharePointといったクラウドサービスとも結び付けることができ、より高度で複雑な自動化へと発展させることも可能です。これにより、企業全体での情報共有や業務プロセスの最適化が進み、作業の抜け漏れ防止にも役立ちます。 ここでは、基本的なスクリプトの書き方やExcel Onlineの動作環境、そしてExcel VBAとの違いをふまえながらOffice Scriptsの全体像を整理しました。最後に、学習の振り返りとして簡単なサンプルコードを掲載し、どのようにExcelに値を書き込むのかを再確認しておきましょう。
サンプルプログラムの再確認
function main(workbook: ExcelScript.Workbook) {
const sheet = workbook.getActiveWorksheet();
sheet.getRange("B2").setValue("まとめで再確認したよ");
sheet.getRange("C3").setValue("クラウド環境での自動化は便利");
}
このサンプルでは、複数セルへ文字を入力する処理を示しています。TypeScriptの基本構造を理解していれば、セル取得・値入力といったExcelの操作を直感的に扱えるようになります。こうしたコードを少しずつ組み合わせることで、日々の作業をより効率的に、より正確に進めるための自動化が実現できます。 Office Scriptsの基礎を押さえたことで、Excel Onlineを中心としたクラウド業務に柔軟に対応できるスキルが身につきます。今後は、複雑なロジックや条件分岐、Power Automateとの連携にも挑戦することで、より大きな業務改善へ発展させることができるでしょう。
生徒
「きょうのOffice Scriptsの学習で、Excel Onlineの便利さがよくわかりました。セルに値を書き込んだり、自動化の流れもだいぶ理解できました!」
先生
「そうですね。TypeScriptを使うことでクラウド環境との相性もよく、ブラウザだけで高度な処理ができる点は大きな魅力です。基本構造を覚えれば、どんどん応用していけますよ。」
生徒
「VBAとの違いもわかって、どんな場面で何を使えばいいのか判断しやすくなりました。クラウドで自動化できるのは強いですね。」
先生
「そのとおりです。用途によって使い分けることで、作業効率を高めながら柔軟に対応できます。次はPower Automateと組み合わせてみると、さらに便利な仕組みを作れますよ。」
生徒
「はい!もっといろいろ試してみたいです。自動化の幅が広がると仕事の時間も短縮できそうです。」
先生
「ぜひ積極的に使ってみてください。Excel OnlineとOffice Scriptsを活用すれば、効率的で安定した業務が実現できますよ。」