仕事でOfficeスクリプトに触る機会があったので調べたことをまとめていきます
OfficeスクリプトとはOffice365で使える自動化の手法です
Excelの自動化といえばVBAを思いつきますが WEB版のExcelでも自動化できるのがOfficeスクリプトです
Excelの「自動化」タブから操作が可能です
ブラウザ上で「自動化」タブが出ない場合はリボンのレイアウトからリボンをカスタマイズすることで表示されます
もしリボンのカスタマイズが表示されない場合は管理者に制限されていることがあるそうです
私も表示されませんでしたが、デスクトップアプリで開いた場合は表示されたため、デスクトップアプリで開いています
基本的なコードとしては
各スクリプトには最初のパラメーターとして ExcelScript.Workbook 型の main 関数を含める必要があります
関数を実行すると、Excel アプリケーションはブックを最初のパラメーターとして指定して、この main 関数を呼び出します
OfficeスクリプトはTypeScriptで書かれています
JavaScriptの上位互換の言語のためJavaScriptの知識があると読み書きしやすいそうです
私はJavaScript未学習のためこの機に基本を勉強しました
変数の宣言には以下の3つがよく使われます
var 変数名: 型名
let 変数名: 型名
const 変数名: 型名
varは再宣言、再代入が可能です
スコープはブロックに関係ないので別ブロックでも適用されます
letは再宣言が禁止、再代入は可能です
constは再宣言、再代入ともに禁止です
let、constのスコープはブロック内のみのため他のブロックで同じ変数名を使っても再代入されません
以下のコードでログメッセージを出力することができます
console.log()
自動化できる内容としては
調べてみたところ別のブックの操作などはPower Automateも使用しないとできないようです
処理の範囲はVBAの方が広いんじゃないかと思います
WEB版のExcelで単一ブック内の作業をするのであれば自動化を検討してもいいかもしれません