Officeスクリプトを使ってみよう!
はじめに
こんにちは。分析部のCです。
皆さんはOfficeスクリプトをご存知でしょうか?
OfficeスクリプトとはExcelの機能の一つで、マクロと同じくExcelの操作を自動化できる機能です。マクロとは異なる点として、Web版Excelでも実行可能な点が挙げられます。
今回はそんなOfficeスクリプトで簡単な自動化プログラムを作成し、Officeスクリプトを試してみようと思います。
今回作成するスクリプト
今回作成するスクリプトは、スクリプトを実行した日時と、2からスタートして「一つ上のセルに記入されている数字に2をかけた数」を記入していくスクリプトです。
スクリプトが実行されるたびにシートの最終行を取得し、そこに1行追加する形で作成してみようと思います。
入力イメージは下図の通りです。
スクリプトを作る
実際にExcel上でスクリプトを書いていきます。
OfficeスクリプトはTypeScriptで記述されます。ここもVBA(Visual Basic for Application)で記述されるマクロとは異なる点ですね。
という訳で、下記のようなスクリプトを作成しました。
(TypeScriptをほぼ初めて使うので、変な書き方をしていたらすみません)
スクリプトを作成すると、ログインしているMicrosoftアカウントのOneDriveに自動で保存されます。
また、「ブックに追加」ボタン(下図の赤丸部分)をクリックすると、現在開いているワークシートにスクリプトを呼び出すためのボタンが追加されます。
また、「スクリプトへのアクセス」タブ内の「ブックに追加」ボタン(上図の赤丸部分)をクリックすると、下図のように現在開いているワークシートにスクリプトを呼び出すためのボタンが追加されます。
スクリプトを実行する
では、実際に実行してみましょう。
前の手順で追加したボタンをそのまま3回クリックしてみます。
スクリプトが呼び出され、新しい行が3行追加されました。マクロと同じように、Officeスクリプトはボタンからも実行可能です。
次に、Offceスクリプトの強みである「Web上での実行」を試してみましょう。
現在のExcelブックをOneDirveに保存します。
そのままOneDrive上でExcelブックを開きます。ローカルで開いた時と同じく、スクリプトの実行ボタンがあります。
こちらのボタンも3回クリックしてみましょう。
ローカルで実行した時と同じく、新しい行が3行追加されました。
まとめ
本記事では簡単なOfficeスクリプトをコーディングし、ローカル/Web上の両方から実行可能であることを実験しました。
今回はOfficeスクリプトをTypeScriptでコーディングしましたが、Officeスクリプトは従来のマクロと同じく、実施した操作を記録して作成することも可能です。
また、PowerAutomateと連携してトリガーを設定することで、もはやWeb上でのボタンクリックすら必要とせず、処理を完全自動化したり、スクリプトへのパラメータの受け渡し/返り値の受け取りなんかも可能なようです。夢が広がりますね。
とはいえ、マクロに出来てOfficeスクリプトに出来ないこともあったりと一部制限もあり、まだまだマクロを完全に代替することはなさそうです。
Officeスクリプトは比較的ローンチから日が浅い機能なので、これからも出来ることはどんどん進化していくんじゃないかと思っています。
皆さんもぜひ使ってみてください。
では、ここまで読んでいただきありがとうございました。
この記事が皆さんの参考になれば幸いです。
ここまでお読みいただき、ありがとうございました!
この記事が少しでも参考になりましたら「スキ」を押していただけると幸いです!
株式会社分析屋について
弊社が作成を行いました分析レポートを、鎌倉市観光協会様HPに掲載いただきました。
ホームページはこちら。
noteでの会社紹介記事はこちら。
【データ分析で日本を豊かに】
分析屋はシステム分野・ライフサイエンス分野・マーケティング分野の知見を生かし、多種多様な分野の企業様のデータ分析のご支援をさせていただいております。 「あなたの問題解決をする」をモットーに、お客様の抱える課題にあわせた解析・分析手法を用いて、問題解決へのお手伝いをいたします!
【マーケティング】
マーケティング戦略上の目的に向けて、各種のデータ統合及び加工ならびにPDCAサイクル運用全般を支援や高度なデータ分析技術により複雑な課題解決に向けての分析サービスを提供いたします。
【システム】
アプリケーション開発やデータベース構築、WEBサイト構築、運用保守業務などお客様の問題やご要望に沿ってご支援いたします。
【ライフサイエンス】
機械学習や各種アルゴリズムなどの解析アルゴリズム開発サービスを提供いたします。過去には医療系のバイタルデータを扱った解析が主でしたが、今後はそれらで培った経験・技術を工業など他の分野の企業様の問題解決にも役立てていく方針です。
【SES】
SESサービスも行っております。