先日、Excelでマクロの記録操作を行ったところ、記録を終了した際に作業ウィンドウに下図の画面が表示されることに気が付きました(検証環境:Microsoft Excel for Microsoft 365 MSO (バージョン 2403 ビルド 16.0.17330.20000) 64 ビット)。
マクロは Office スクリプトとしても使用できます。スクリプトを保存して保存してください。
セル範囲(C2:C4)に1~3の数字を入力する操作を記録したのですが、この画面で「保存」ボタンをクリックしたところ、Office スクリプトのコード エディターが表示され、同じ操作がOffice スクリプトとして保存されていました。
「マクロは Office スクリプトとしても使用できます。スクリプトを保存して保存してください」画面で「保存」ボタンを推した際の動作を撮ってみました。 #Excel #VBA #OfficeScripts https://t.co/KMr8bh2lPV pic.twitter.com/ov4IU8MQMB
— きぬあさ (@kinuasa) February 7, 2024
記録されたマクロのコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Sub Macro2() ' ' Macro2 Macro ' ' Range( "C2" ). Select ActiveCell.FormulaR1C1 = "1" Range( "C3" ). Select ActiveCell.FormulaR1C1 = "2" Range( "C4" ). Select ActiveCell.FormulaR1C1 = "3" Range( "C5" ). Select End Sub |
保存されたOffice スクリプトのコード
1 2 3 4 5 | function main(workbook: ExcelScript.Workbook) { let selectedSheet = workbook.getActiveWorksheet(); // Set range C2:C4 on selectedSheet selectedSheet.getRange( "C2:C4" ).setValues([[ "1" ],[ "2" ],[ "3" ]]); } |
どうやら知らない間にマクロの記録後に記録した操作をOffice スクリプトとしても保存できるようになっていたようです。
以前から行った操作をOffice スクリプトとして記録する機能(「自動化」タブの「操作を記録」ボタン)はあったので、機能として目新しいものではないのですが、マクロの記録後にOffice スクリプトの保存画面が表示されるのは中々面白い動きだと思います。
VBAマクロの代わりにOffice スクリプトを推進していこうという動きなのか!?など、色々と考えてしまいますね。
もちろん、下記Microsoft Learn資料にある通り、設計がそもそも異なるのでOffice スクリプトはVBAを完全に置き換えられるものではないと私は認識しているのですが、MicrosoftがVBScriptを段階的に廃止するとの発表もありましたし、このあたりの動きも含めて今後も注目していきたいところです。
この記事へのコメントはありません。