〇 マクロを使えないWeb版Excelで「Officeスクリプト」、自動処理が可能に。
米Microsoft(マイクロソフト)のWeb版のExcelでは、デスクトップ版のExcelと違ってVBAのマクロ機能を利用できない。Web版Excelで作業を自動化したいときは「Officeスクリプト」を使おう。今回はOfficeスクリプトで操作内容を記録し保存する方法を紹介しよう。
なお、本連載ではMicrosoft 365 Business Standardのプランで、主にWebブラウザーを使って動作を確認している。Officeのバージョンや仕様変更によって、ここで説明する機能が使えない場合や画面が異なる場合がある。
Officeスクリプトとマクロは何が違う?
Officeスクリプトは、TypeScriptをベースにした機能だ。TypeScriptはマイクロソフトが開発したJavaScriptを拡張したオープンソースのプログラム言語である。TypeScriptをベースにしたことでWeb版アプリで利用できるようになっている。
一方、デスクトップ版で利用されているVBAマクロは、Visual Basic for Applicationsというプログラム言語で作成されている。
なお、ExcelでOfficeスクリプトを利用するには、次の環境が必要だ。
- ・Excel(Windows版、Mac版、Web版)
- ・OneDrive for Business
- ・デスクトップ版のOfficeアプリを利用できる、次に挙げたライセンス
- Microsoft 365 Apps for business、Microsoft 365 Business Standard、Microsoft 365 Apps for enterprise、Office 365 ProPlusデバイス用、Office 365 Enterprise E3/E5、Office 365 A3/A5
操作を記録する。
Officeスクリプトは、VBAマクロのように一連の操作を記録して実行することが可能だ。Web版のExcelにはアクションレコーダーという記録用のツールがある。「自動化」タブをクリックすると、Officeスクリプト関連の機能を確認できる。「スクリプトツール」の「操作を記録」ボタンをクリックして操作を記録していく。
「操作を記録」ボタンをクリックすると、右側に「操作を記録」ウィンドウが表示される。まだプレビュー版の機能だが、「レコーダーモードの設定」で、記録の方法を「絶対モード」か「相対モード」かを選択する。
「絶対モード」は選択したセル範囲で操作が実行されるモードだ。例えば、セルA3~C5の範囲を選択して書式を設定する操作を記録すると、そのスクリプトはどこで実行してもセルA3~C5に書式が設定される。
もう1つの「相対モード」は、最初に選択したセルの相対的な位置に対してスクリプトが実行される。例えば、セルA1を選択した状態でセルA3~C5に書式を設定した場合は、選択したセルの3~5行目、1~3列目の範囲で書式が設定される。
コードエディターを利用する。
操作の記録を終了すると、Officeスクリプトが保存され、「コードエディター」ウィンドウが表示される。先ほど記録した操作内容が「スクリプト1」などの名前で保存されている。この名前を変更することも可能だ。さらに、スクリプトの説明を追加したり、スクリプトファイルが利用できる範囲なども「コードエディター」ウィンドウから確認したりできる。
スクリプトファイルの保存先を指定する。
作成されたスクリプトファイルは、OneDrive for Businessに自動的に保存される。保存先を確認するには、スクリプト名の下にあるリンクをクリックする。