![見出し画像](https://assets.st-note.com/production/uploads/images/59167279/rectangle_large_type_2_08f81b86afd4a70f44a2da4ebdc315a8.jpg?width=1200)
【Oficeスクリプト】ExcelVBAとOfficeスクリプトの違いを調べてみた
こんにちは。aliceです。
ExcelVBAとOfficeスクリプトの違いがいまいちピンとこなかったので調べてみました。
ではさっそくいってみましょう。
![](https://assets.st-note.com/img/1678370174952-noBtPRxQMq.png)
※2023年3月9日追記
この記事を書いてからだいぶ時間が経ってしまったので…、情報が古くなりました💦
ということで、はじめにおススメを書いておきます!
VBA開発者のためのOffice スクリプト入門 kinuasa M365VM2022
microsoft 365 virtual marathon 2022 でのきぬあささんのセッションです。
Officeスクリプトについてめちゃめちゃわかりやすく説明されています。
本当におすすめです!
そのときのきぬあささんのスライドです。
Office スクリプトのアップデート情報まとめ (2022~2023 年前半)
こちらもきぬあささんの登壇資料です。
2022~2023年前半のアップデート情報がわかります!
それでは本編をどうぞ!
![](https://assets.st-note.com/img/1678370181276-UjaVe3yARk.png)
1.使用場所
ExcelVBAはデスクトップ版のExcelで使用します。
Officeスクリプトはウェブ版のExcelで使用します。
![画像1](https://assets.st-note.com/production/uploads/images/59165389/picture_pc_db8a8f614fc8b8c7dd4fa735619a05f0.png?width=1200)
※2023年3月9日追記
今はデスクトップ版でも使えます。わーい✨
ただ、Microsoft365の商用ライセンスが必要(Microsoft 365 Business Standard以上)なので、環境をご確認ください。
2.保存場所
ExcelVBAはだいたいの場合はマクロ有効ブックに保存します。
OfficeスクリプトはOneDrive for Businessに保存されます。
![画像2](https://assets.st-note.com/production/uploads/images/59165412/picture_pc_3a91d424eed6bea779bf2f79bf167bc6.png?width=1200)
こんな感じでOneDrive for BusinessのドキュメントフォルダのOffice Scriptsフォルダに保存されます。
![画像3](https://assets.st-note.com/production/uploads/images/59165453/picture_pc_f176db43643cafc03d8805f9727f9302.png)
※2023年3月9日追記
今はSharePointにも保存できます。
ただ、SharePointに保存したスクリプトはPower Automateでは使用できないのでお気をつけください。
3.共有
ExcelVBAはVBAが入っているファイルを使うことにより共有できます。
Officeスクリプトはスクリプトをブックに添付することにより共有します。
![画像4](https://assets.st-note.com/production/uploads/images/59165531/picture_pc_977c2376159374931fb2b50a5ce53bb4.png?width=1200)
ExcelVBAはExcelVBAが書かれているExcelを開くと使うことができます。
OfficeスクリプトはExcelではなくてOneDrive for Businessに保存されています。共有したいときはExcelに共有したいスクリプトをペコっと添付することにより共有できます。なお共有は組織全体に対しての共有となります。
共有すると人っぽいマークが表示されます。
![画像5](https://assets.st-note.com/production/uploads/images/59165620/picture_pc_3dc43547b133fa86caac227521f205c9.png)
4.スクリプトを共有したブックをコピー
ExcelVBAはExcelVBAが入っているブックをコピーすると、同じExcelVBAが書かれているExcelブックが作成されます。
Officeスクリプトはブックをコピーすると、Officeスクリプトへの共有をコピーしたExcelブックが作成されます。Officeスクリプトへの共有のコピーなのでスクリプトは1つです。1つのスクリプトを複数のブックで使えるようになります。
![画像7](https://assets.st-note.com/production/uploads/images/59165911/picture_pc_fef85389bf81db4fe350ac0e22b86171.png?width=1200)
5.使用
ExcelVBAはVBEに表示されているコードを使うことができます。
OfficeスクリプトはOneDrive for Businessに保存しているスクリプトを使うことができます。
![画像19](https://assets.st-note.com/production/uploads/images/59167406/picture_pc_1e6333db2b8a4cd61c6b33e9de3e8f99.png?width=1200)
OfficeスクリプトはExcelブックではなくOneDrive for Businessに保存れているので(しつこい💦)どのExcelでも使うことができます。下のように作成したスクリプトが表示されます。
![画像18](https://assets.st-note.com/production/uploads/images/59167401/picture_pc_7dfd12abe50b755f22f8b4bef78035e3.png?width=1200)
また、すべてのスクリプトのアイコンを押すとスクリプトが表示されます。ExcelVBAのように、「他のExcelブックでVBAを使いたかったら、コードをコピーする」という必要はありません。そのまま使えます。
![画像9](https://assets.st-note.com/production/uploads/images/59166208/picture_pc_83897d5b34980dd4d3f06406ba3d3248.png?width=1200)
6.使用(他のユーザー)
ExcelVBAは実行と(パスワードがかかっていなければ)編集が可能です。
Officeスクリプトは実行はできますが、編集はできません。編集不可の状態で共有されます。
![画像10](https://assets.st-note.com/production/uploads/images/59166321/picture_pc_f9a57605666241fa40648c0fe0bb4d6f.png?width=1200)
7.自動記録
ExcelVBAはマクロの記録を使うと実行した操作のコードが記録されます。
Officeスクリプトは操作を記録するとコードのほかにコメントも一緒に記録されます。
![画像11](https://assets.st-note.com/production/uploads/images/59166368/picture_pc_2c421e4da451ec066b2b58bed1a8a77a.png?width=1200)
「A1セルに値を入れるよ」とか「A1セルの色を塗りつぶすよ」とか書かれているので何の操作をしているのかわかりやすいです。でも英語ですね。英語…。
![画像13](https://assets.st-note.com/production/uploads/images/59166458/picture_pc_f8a64adafb283e3c1b11e62d80a01a7c.png?width=1200)
8.メソッドの使い方を調べる
ExcelVBAは調べたいメソッドにカーソルを置いて「F1」キーを押すと公式ドキュメントが開かれるので、そこで確認することができます。
Officeスクリプトは調べたいメソッドにマウスを重ねる(ホバーする)と使い方が表示されます。
![画像13](https://assets.st-note.com/production/uploads/images/59166837/picture_pc_75b56a18b594f65cc063d4a187774126.png?width=1200)
さくっと調べることができます。
![画像14](https://assets.st-note.com/production/uploads/images/59166919/picture_pc_0c3f8268ab1c8c7f6ace56ab02a407bb.png?width=1200)
9.Officeスクリプトでできないこと
ExcelVBAでできる次のことはOfficeスクリプトではできません。
・他のブックの操作
・外部連携
・イベント
・CSVファイルの操作 などなど
![画像15](https://assets.st-note.com/production/uploads/images/59166932/picture_pc_cdeed1c34fd0a92d4b9dfb1451330d06.png?width=1200)
データソースが他のブックのPower Queryの更新をしたかったけどできなくてショックだったな。今後に期待。
10.Officeスクリプトでできること
Officeスクリプトでできることと言えばやっぱり、Power Automateとの連携ですね。Officeスクリプトをスケジュールで実行したり、イベントで実行したりできることが格段に増えます。
![画像16](https://assets.st-note.com/production/uploads/images/59166996/picture_pc_2f369a89b783f0a54fd41ecc25b43f74.png?width=1200)
ということで、ExcelVBAとOfficeスクリプトの違いを調べてみたでした。こうみると、いろいろ違いがありますね。
おしまい。
![画像17](https://assets.st-note.com/production/uploads/images/59167142/picture_pc_311131c26aecb7d9d24ab4f764bba51b.png?width=1200)
Officeスクリプト記事まとめ📝
『Officeスクリプト入門講座』を書きました📝