全1554文字

 米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スクリプト関連の機能を確認できる。「スクリプトツール」の「操作を記録」ボタンをクリックして操作を記録していく。

Officeスクリプトを利用するには、「自動化」タブをクリックする。「自動化」タブには、操作を記録したり、Officeスクリプトを作成したりするためのボタンが表示される。操作を記録するときは「操作を記録」ボタンをクリックする
Officeスクリプトを利用するには、「自動化」タブをクリックする。「自動化」タブには、操作を記録したり、Officeスクリプトを作成したりするためのボタンが表示される。操作を記録するときは「操作を記録」ボタンをクリックする
(出所:阿部 香織)
[画像のクリックで拡大表示]

 「操作を記録」ボタンをクリックすると、右側に「操作を記録」ウィンドウが表示される。まだプレビュー版の機能だが、「レコーダーモードの設定」で、記録の方法を「絶対モード」か「相対モード」かを選択する。

 「絶対モード」は選択したセル範囲で操作が実行されるモードだ。例えば、セルA3~C5の範囲を選択して書式を設定する操作を記録すると、そのスクリプトはどこで実行してもセルA3~C5に書式が設定される。

 もう1つの「相対モード」は、最初に選択したセルの相対的な位置に対してスクリプトが実行される。例えば、セルA1を選択した状態でセルA3~C5に書式を設定した場合は、選択したセルの3~5行目、1~3列目の範囲で書式が設定される。

右側に「操作を記録」ウィンドウが表示される。まず、「レコーダーモードの設定」から操作の記録方法を「絶対モード」か「相対モード」か指定する。初期設定は「絶対モード」だ。そのまま操作を始めると、「記録された操作」に操作内容が表示されていく。操作が終了したら、「停止」をクリックする
右側に「操作を記録」ウィンドウが表示される。まず、「レコーダーモードの設定」から操作の記録方法を「絶対モード」か「相対モード」か指定する。初期設定は「絶対モード」だ。そのまま操作を始めると、「記録された操作」に操作内容が表示されていく。操作が終了したら、「停止」をクリックする
(出所:阿部 香織)
[画像のクリックで拡大表示]