見出し画像

Excel Office Scriptsを簡単に書く方法

ExcelのOffice Scriptsですが、正直あんまり広まってないですよね。

GoogleスプレッドシートにとってのGASにあたるものですが、Excel目線で言うと機能的にVBAと被ってるので、わざわざ覚える理由が見出しにくい。
また、ようやくデスクトップ版でも使えるようになりましたが、当初はWeb版Excelのみだった・・・、というのもあって、認知度低いかなという印象です。

Excelファイルと独立してコードを管理できる・Power Automateで呼び出せるし、値の受け渡しが出来る・よってPCがなくてもクラウド連携できてトリガー実行してくれる、と良いところは色々あります。

なので、もっと気軽に使ってほしいです。Office Scriptsの文法は、きっちり習わなくても、なんとなくの雰囲気で大丈夫だと思います。

今回は、なるべくお手軽なやり方を紹介します。

Excelで「操作を記録」 ➡ ChatGPTに手直ししてもらう ➡ 出来たものをを再びExcelに貼り付けて保存 ➡ 出来たスクリプトを、Power Automateクラウドフローから呼び出す

ざっくりこんな感じの流れです

まず操作の記録は、自動化タブから 「操作を記録」 でやりたい操作を実際に行います。マクロの記録とほぼ同じです。 

自動化を記録する
記録しながらセルC9、C10、C11に何かしら埋めてみる

出来上がったコードをChatGPTに貼り付けて、Power Automateから値を渡す箇所を変数にして、と頼みます。

以下はExcelのOffice Scriptです。このC9,C10,C11を外部の変数から埋める形にしたい。 変数はそれぞれPaperType、Amount、DeliveryOfficeです。

### ここにコピーしたコードを貼る ###

こんな感じのプロンプトで十分です

すると、答えが返ってきました。

ChatGPTに依頼その1
固定の値が入っていた3箇所を、変数に変えてくれた

getActiveWorksheetの部分が気になったので、追加で変えてもらいました。

ChatGPTに依頼その2
これをコピーしてまたExcelに貼ります。Copilot in Excelがやってくれると、
ツールの行き来しないでいいですね。。

出来上がったら、これをExcelのコードウィンドウにコピーして、スクリプトを保存します。(いちおう実行テストはしてください)

保存したスクリプトをPower Automateから呼び出します。スクリプトの保存場所がSharePointであれば「SharePointライブラリからスクリプトを実行する」、OneDriveであれば「スクリプトの実行」アクションを使います。

フローでスクリプトを呼び出す
スクリプトを選ぶと3つの入力変数の指定が出てくる

という感じで、自分でコードは一行も書かずに済ますことが出来ます。心理的ハードルは多少低くなるのではないかと。

今回は以上です。
この記事が気に入ったらスキ・フォローお願いします!