Office スクリプトを触ってみる

こんにちは!

京都に来てから幕末の時代背景に興味を持つようになり歴史を調べたり、ゆかりの地を巡ったりしているYuuです。
皆様はExcelを利用する際、ブラウザ版のExcelとアプリ版のExcelのどちらを利用されていますでしょうか。

私はこれまで、どちらかというとアプリ版Excelを利用することが多くありました。
理由は、VBAを利用してExcelの作業を自動化できるからです。

普段から「同じ作業はできるだけ自動化したい」と考えている私にとって、VBAはとても便利な機能でした。

 しかし近年では、マクロを悪用した攻撃への対策として、インターネットから取得したVBAマクロは既定で実行がブロックされるようになるなど、セキュリティ面への配慮がより重視されるようになり、以前よりも利用する際のハードルが高くなりつつあります。 

そんなVBAの代替としてOffice スクリプトが利用できそうだと思ったので今回はブラウザ版Excelとアプリ版Excelの違いに触れながら、Office スクリプトの始め方や、ボタンを使って処理を実行する方法について紹介していきたいと思います。
■ブラウザ版Excelとアプリ版Excelの違い
Excelには大きく分けて、ブラウザで利用する「ブラウザ版Excel」と、PCにインストールして利用する「アプリ版Excel」があります。

どちらもExcelファイルを編集できる点は同じですが、利用できる機能や使い勝手には違いがあります。

ざっくり比較すると以下のようなイメージです。

ブラウザ版Excel
・ブラウザ上で利用できる
・複数人で同時編集しやすい
・ファイル共有との相性が良い
・Office スクリプトを利用できる
・VBAが利用できない

アプリ版Excel
・PCにインストールして利用する
・機能が豊富
・VBAを利用できる
・ローカルファイルの操作に強い

ブラウザ版Excelは、OneDriveやSharePointに保存されたファイルであれば、Microsoftアカウントでログインするだけで別の端末からでも同じファイルを開いて編集することができます。

また、複数人で同じファイルをリアルタイムで編集できるためチームでの共同作業にも向いています。

一方、アプリ版ExcelはVBAをはじめとする豊富な機能を利用できるため、細かな操作や高度な自動化を行いたい場合に向いています。
■自動化を考えるとアプリ版Excelの方が好きだった話
私は普段から、繰り返し行う作業はできるだけ自動化したいと考えています。

例えば・・・

・毎回同じ列を並び替える
・不要な行を削除する
・書式を整える
・別シートへデータを転記する

といった作業があると、「この作業、毎回手作業でやる必要があるのだろうか?」
と思ってしまいます。

そのような作業を気軽に自動化できるのがVBAでした。
ボタンを押すだけで一連の処理を実行できるため、業務効率化には欠かせない存在でした。

そのため、ブラウザ版Excelは便利ではあるものの、「VBAが使えない」という理由から私はアプリ版Excelを利用することが多くありました。
■ブラウザ版Excelでも自動化できる?

ブラウザ版Excelは共同編集には非常に便利ですが、「VBAが使えないなら、自動化は難しいのでは?」と思っていましたが調べてみると、ブラウザ版Excelには「Office スクリプト」という機能が用意されていました。

Office スクリプトでは、

・セルの値を変更する
・書式を変更する
・シートを操作する
・表を加工する

など、VBAのようにExcelの操作を自動化することができます。

もちろんVBAとは別の仕組みですが、「ブラウザ版でも自動化できる」という点は非常に魅力的に感じました。
■Office スクリプトとは
Office スクリプトは、ブラウザ版Excelで利用できる自動化機能です。

2019年頃にMicrosoftから発表され、その後プレビュー版を経て現在ではMicrosoft 365環境で利用できるようになりました。

プログラムはTypeScriptという言語をベースに記述し、セルの値の変更や書式設定、シート操作など、繰り返し行うExcel作業を自動化することができます。

作成したスクリプトは組織内で共有したり、ボタンから実行したりすることも可能です。クラウド環境での共同利用を意識して設計されている点も、Office スクリプトならではの特徴と言えるでしょう。
■Office スクリプトを始める
Office スクリプトは、ブラウザ版Excelの「自動化」タブから利用できます。
利用手順は以下の通りです。

●ブラウザ版Excelを開く



●「自動化」タブを開く




●「新しいスクリプト」を選択



●コードを書く



●保存して実行

初めて利用する方でも、ブラウザ上でそのままコードを書けるため、特別な開発環境を用意する必要はありません。

■ボタンを使って実行する
Office スクリプトでは作成したスクリプトをボタンから実行することもできます。
   
毎回「自動化」タブからスクリプトを選択する必要がなく、ボタンをクリックするだけ処理を実行できます。

例えば、

・表の整形
・不要な行の削除
・入力内容のチェック
・集計処理

などをボタン一つで実行できるようになります。

Excelに詳しくない方でも利用しやすくなるため、チーム内で利用するExcelファイルにも活用できそうです。

次は実際にOffice スクリプトを書きながら、ボタンを配置して処理を実行する方法を紹介したいと思います。
■まとめ
今回は、ブラウザ版Excelとアプリ版Excelの違いに触れながら、Office スクリプトについて紹介しました。

これまで私は、「Excelを自動化するならVBA」という考えが強く、アプリ版Excelを利用することが多くありました。

しかし、Office スクリプトを利用することで、ブラウザ版Excelでも処理を自動化できることが分かりました。

ブラウザ版Excelの共同編集のしやすさと、自動化による業務効率化を両立できる点は、大きな魅力だと感じました。