見出し画像

ExcelオンラインのOfficeスクリプトをさわってみたけど、PowerAppsとPower Automateで事足りるかも

こんにちは🌞酷暑だと思っていたら、一転して大雨ですね。みなさまご無事でしょうか。わたしは無事です。

さて、ExcelオンラインでもMicrosoft365の契約によってはスクリプトを使うことができるようになりましたね。わたしも少しだけさわってみました。マクロではExcelブックごとにVBAプロジェクトが保存されますが、Excelオンラインでは自分のOneDriveにOffice Scriptsフォルダができて、そこへ保存されるようです。つまり、同じスクリプトを別のブックでも利用できます。便利ですね。

ただ、これまでVBAに慣れ親しんできた方には少々学習コストがかかるかもしれません。ベースがJavaScriptであるTypeScriptを利用するからです。それに、VBAでできていたことがすべてできるわけでもありません。なかなか手が出ないかもしれませんね。

ExcelオンラインにあるOfficeスクリプトのエディタはそこそこ優秀で、タブキーによる補完も構文ハイライトも構文チェックなどもしてくれます。わざわざエディタを用意しなくても作成をはじめることができる点においては素敵です。とはいえ、ちょっとエディタ部分が小さいので、どこかに拡大できる機能があるのだと思いますが…まだわかっていません。それに、PCブラウザからでないと利用できないのだと思います。スマホからアクセスしてみたことがないためですが、スマホから作成はつらいと思います。

わたしは「表形式のデータから簡単にJSONがつくれるな」と思いまして、最初にそれをサンプルで書いてみたのですが、残念ながらファイルにするためのAPIが用意されていないようでした。しかし方法はありまして、JSON文字列をつくったらそれをPower Automateにわたしてファイルとしてダウンロードしてくる、というものです。ただ、JSONつくってファイルにしたいだけにExcelオンライン、Power Automate、OneDriveと数珠つなぎにしていくことになります。そのうち、OneDriveにファイル作成するAPIが用意されるのかなと思いました。

Personalエディションの契約でも利用できるようになったときには、もっといろいろできるようになるかもしれませんが、それでもPower Automateをつかったほうがよいのでしょうね。自動化全般の制御はPower Automateに集中させるという思想なのでしょう。

しかし・・・ExcelからJSONをつくるだけであれば、Office スクリプトは不要です。なんとPowerAppsで十分です。JSONというそのままの名前の関数がありまして、これにデータセットを食わせてやるとJSON文字列になります。

さきほどのOfficeスクリプトと同様にPower Automateに結果を送り込んでファイルとしてOneDriveに保存してやればTypeScriptをおぼえる必然性はゼロです。用途などを踏まえて、TypeScriptに手を出すべきかPowerAppsにすべきか考えてもよいですね。

この記事が気に入ったらサポートをしてみませんか?