【Oficeスクリプト】ExcelVBAとOfficeスクリプトの違いを調べてみた
こんにちは。aliceです。
ExcelVBAとOfficeスクリプトの違いがいまいちピンとこなかったので調べてみました。
ではさっそくいってみましょう。
※2023年3月9日追記
この記事を書いてからだいぶ時間が経ってしまったので…、情報が古くなりました💦
ということで、はじめにおススメを書いておきます!
VBA開発者のためのOffice スクリプト入門 kinuasa M365VM2022
microsoft 365 virtual marathon 2022 でのきぬあささんのセッションです。
Officeスクリプトについてめちゃめちゃわかりやすく説明されています。
本当におすすめです!
そのときのきぬあささんのスライドです。
Office スクリプトのアップデート情報まとめ (2022~2023 年前半)
こちらもきぬあささんの登壇資料です。
2022~2023年前半のアップデート情報がわかります!
それでは本編をどうぞ!
1.使用場所
ExcelVBAはデスクトップ版のExcelで使用します。
Officeスクリプトはウェブ版のExcelで使用します。
※2023年3月9日追記
今はデスクトップ版でも使えます。わーい✨
ただ、Microsoft365の商用ライセンスが必要(Microsoft 365 Business Standard以上)なので、環境をご確認ください。
2.保存場所
ExcelVBAはだいたいの場合はマクロ有効ブックに保存します。
OfficeスクリプトはOneDrive for Businessに保存されます。
こんな感じでOneDrive for BusinessのドキュメントフォルダのOffice Scriptsフォルダに保存されます。
※2023年3月9日追記
今はSharePointにも保存できます。
ただ、SharePointに保存したスクリプトはPower Automateでは使用できないのでお気をつけください。
3.共有
ExcelVBAはVBAが入っているファイルを使うことにより共有できます。
Officeスクリプトはスクリプトをブックに添付することにより共有します。
ExcelVBAはExcelVBAが書かれているExcelを開くと使うことができます。
OfficeスクリプトはExcelではなくてOneDrive for Businessに保存されています。共有したいときはExcelに共有したいスクリプトをペコっと添付することにより共有できます。なお共有は組織全体に対しての共有となります。
共有すると人っぽいマークが表示されます。
4.スクリプトを共有したブックをコピー
ExcelVBAはExcelVBAが入っているブックをコピーすると、同じExcelVBAが書かれているExcelブックが作成されます。
Officeスクリプトはブックをコピーすると、Officeスクリプトへの共有をコピーしたExcelブックが作成されます。Officeスクリプトへの共有のコピーなのでスクリプトは1つです。1つのスクリプトを複数のブックで使えるようになります。
5.使用
ExcelVBAはVBEに表示されているコードを使うことができます。
OfficeスクリプトはOneDrive for Businessに保存しているスクリプトを使うことができます。
OfficeスクリプトはExcelブックではなくOneDrive for Businessに保存れているので(しつこい💦)どのExcelでも使うことができます。下のように作成したスクリプトが表示されます。
また、すべてのスクリプトのアイコンを押すとスクリプトが表示されます。ExcelVBAのように、「他のExcelブックでVBAを使いたかったら、コードをコピーする」という必要はありません。そのまま使えます。
6.使用(他のユーザー)
ExcelVBAは実行と(パスワードがかかっていなければ)編集が可能です。
Officeスクリプトは実行はできますが、編集はできません。編集不可の状態で共有されます。
7.自動記録
ExcelVBAはマクロの記録を使うと実行した操作のコードが記録されます。
Officeスクリプトは操作を記録するとコードのほかにコメントも一緒に記録されます。
「A1セルに値を入れるよ」とか「A1セルの色を塗りつぶすよ」とか書かれているので何の操作をしているのかわかりやすいです。でも英語ですね。英語…。
8.メソッドの使い方を調べる
ExcelVBAは調べたいメソッドにカーソルを置いて「F1」キーを押すと公式ドキュメントが開かれるので、そこで確認することができます。
Officeスクリプトは調べたいメソッドにマウスを重ねる(ホバーする)と使い方が表示されます。
さくっと調べることができます。
9.Officeスクリプトでできないこと
ExcelVBAでできる次のことはOfficeスクリプトではできません。
・他のブックの操作
・外部連携
・イベント
・CSVファイルの操作 などなど
データソースが他のブックのPower Queryの更新をしたかったけどできなくてショックだったな。今後に期待。
10.Officeスクリプトでできること
Officeスクリプトでできることと言えばやっぱり、Power Automateとの連携ですね。Officeスクリプトをスケジュールで実行したり、イベントで実行したりできることが格段に増えます。
ということで、ExcelVBAとOfficeスクリプトの違いを調べてみたでした。こうみると、いろいろ違いがありますね。
おしまい。
Officeスクリプト記事まとめ📝
『Officeスクリプト入門講座』を書きました📝
この記事が気に入ったらサポートをしてみませんか?