前回のコラムは、Excel on the Web で動作する「Officeスクリプト」をご紹介しました。Office スクリプトはブラウザ版Excel で利用可能な Excel VBAに代わるプログラミング手法です。
今回はOffice スクリプトの内側を確認してみたいと思います。
プログラム言語
開発言語といっても専用の開発環境は不要でブラウザ版Excelで作成します。
使用する言語はJavaScript もしくは、JavaScriptを拡張して作られたオープンソースのTypeScript を使用します。TypeScriptはオープンソースプロジェクトではありますが開発はマイクロソフトによってメンテナンスされています。
元々 JavaScript、TypeScriptはプロの開発者が使う言語であり、多くの初心者向けのハウツーやサンプルが公開されているので、これから始めるのにハードルはそれほど高くないでしょう。
前回のコラムでも紹介しましたが、チュートリアルがMicrosoftのWebページにあるので実際に作成してみてください。
https://docs.microsoft.com/ja-jp/office/dev/scripts/tutorials/excel-tutorial
スクリプトとファイルは別管理
Excel VBA の場合は表そのものとVBAが一緒に保存される「マクロ有効ブック」に保存されるのでシンプルですが、Office スクリプト はExcelドキュメントとスクリプトは別管理となります。
スクリプト部分は作成者の OneDrive for Business のフォルダ 自分のファイル > Office Scripts に保存されます。
ファイルだけを共有してもスクリプトを実行できない点には注意が必要です。
共有は社内限定
Office スクリプトを共有する場合にお勧めなのが、Microsoft 365のSharePoint Onlineでの共有です。どこからでもアクセス可能なSharePointで共有することで、ファイルのコピーを利用者に展開する必要がなくなります。
スクリプトのアクセス権限は社内全員に共有されます。(大事なデータ部分はExcelファイル本体にあるので、ファイルをアクセス制限していれば問題ないという考え方です)
残念ながら外部ユーザーへのスクリプトの共有機能はありません。
参考:Web Officeでの Excel スクリプトの共有 (microsoft.com)
スクリプトのメンテナンスがシンプル
一見スクリプトがOneDriveに保存され、ファイルとは別管理になるのが面倒に感じるかもしれませんが、業務利用の場合のメリットがあります。
Excel VBAを社内で運用する際、プログラムのバージョンアップや不具合修正が必要ですが、すべてのExcelファイルを回収、再度全員にコピーする必要があります。
Office スクリプトの場合、Excelファイル本体はSharePointに、プログラム部分は作成者のOneDriveに1か所で管理されているので修正すると即全員のプログラムが修正されたことになります。
これまで社内展開で苦労していた企業にはとてもうれしい機能だと思います。
まとめ
Office スクリプトは Microsoft 365 の SharePoint Online や OneDrive for Business での運用を前提としたWebブラウザベースの自動化手法です。
クラウドから直接Excelを操作するので、VPN接続が必要な社内のファイルサーバーへの保存や、メールに添付して利用者全員へ配布する必要がありません。SharePointポータルサイトへアクセスすれば全員が利用可能です。
開発も業界標準のスクリプト言語で記述することができ、一か所で修正やバージョンアップを行えばすべての利用者にすぐに提供することができます。
これまでのVBA開発とは少し運用方法を変更する必要があるかもしれませんが、クラウド時代の新しいExcel自動化にチャレンジしてみてください。