昨年からずっと待ち続けていた「Office Scripts」機能、ついに、ついに私の環境でも使えるようになりました!
この機能のリリースを、日本で最も心待ちにしていたのは恐らく私でしょう。
ホント、降ってくるのが遅いよ・・・。
遅すぎるよ、Microsoftさん!!
新型コロナのせいなのかローカライズに時間が掛かったのか、いったい何ヵ月待たせるんだよ?
窓の杜さんでも取り上げられたのに、もうみんな覚えていないよ??
Office開発者として、こんな悲しいことはない・・・
とまあ、戯言はこれくらいにしておいて、さっそく触ってみたいと思います。
はじめてのOffice Scripts
Web版のExcelからブックを作成し、「自動化する」タブから「操作を記録」ボタンをクリックします。
(この「自動化する」タブは「自動化」タブや「記録」タブで良いのではないかと、個人的には思います。)
2020/5/21 追記:
「自動化する」タブの名前が「自動化」タブに変更されたようです。
操作の記録が開始されるので、セルに適当な値を入力後「停止」ボタンをクリックして記録を終了します。
「操作が正常に記録されました。」とのメッセージが表示されるので、スクリプト名と説明を入力し、「保存」ボタンをクリックします。
作業ウィンドウの「編集」ボタンをクリックすると、コードエディターで記録されたコードが表示されます。
実際に記録されたコード
コードエディター上では、その名の通りコードの編集もでき、記録された数値を変更後「実行」ボタンをクリックすると、変更した値がセルに反映されます。
下図のようにインテリセンスが使えます。
パラメーターヒントも表示されます。
コードエディター上でコードを書き、その場ですぐに実行・動作確認できるので、効率良くコードを書けます。
もちろん、コンソール出力も可能です。
Office Scripts機能によって記録されたスクリプトは、OneDrive上の「Office Scripts」フォルダに「osts」ファイルとして保存されます。
ostsファイルの中身は、下記のようなJSON形式のデータです。
{"version":"0.2.0","body":"async function main(context: Excel.RequestContext) {\r\n // Unknown event received with eventId:576\r\n // Unknown event received with eventId:576\r\n // Unknown event received with eventId:576\r\n // Set range A1:A4 on selectedSheet\r\n let workbook = context.workbook;\r\n let worksheets = workbook.worksheets;\r\n let selectedSheet = worksheets.getActiveWorksheet();\r\n let targetRange = selectedSheet.getRange(\"B1\");\r\n targetRange.values = [[\"Hello.\"]];\r\n}","description":"はじめて記録したスクリプトです。","parameterInfo":"{\"originalParameterOrder\":[],\"parameterSchema\":{\"type\":\"object\",\"default\":{},\"x-ms-visibility\":\"internal\"},\"returnSchema\":{\"type\":\"object\",\"properties\":{}}}","apiInfo":"{\"variant\":\"batch\"}"}
待ちに待ったOffice Scripts機能、実際に使ってみた印象としては、まさしく
“マクロの記録機能のオンライン版”
でした。
思っていたよりコードも書きやすく、これは今後に期待できそうです!
皆さんも是非触ってみてください!
この記事へのコメントはありません。