【vs VBA】ふと気づいたら Excel に Office Script ?!なるものが!

アフィリエイト広告を利用しています。
運営者・ポテ

いつもありがとうございます!

今日、ふと気づいたのですが、Microsoft 365 の Excelに「Office Script」なるものがある!なんじゃそりゃ!

「知ってるよ!」という方!大変申し訳ございません!

こちらの記事に全体像が解説されており、大変勉強になりました。ありがとうございます!

VBA愛好家としては、何ができるのか調べずにはいられません。そこで、VBAでできることがOffice Scriptでも可能なのか、ざっと調べてみました。

VBAで出来る基本的な操作Office Script でできる?補足
セルの値を取得・設定できるgetValue(), setValue() を使用
セルの書式設定(フォント、色など)部分的にできる一部の書式設定(太字、色など)はできるがVBAより制限あり
範囲選択(Range.SelectできないOffice Scriptには Select メソッドがなく、セル範囲を直接指定して操作する
行・列の挿入・削除できるinsertRows(), deleteRows() で対応可能
シートの追加・削除・名称変更できるaddWorksheet(), deleteWorksheet(), renameWorksheet() が使用可能
テーブルの作成・編集できるcreateTable(), addTableColumn() などで操作可能
グラフの作成・編集できない現時点ではOffice Scriptでグラフ作成はできない
条件付き書式の適用できるapplyConditionalFormat() を使用
フィルターの適用・解除できるapplyFilter(), removeFilter() で操作可能
ソートの実行できるsort() メソッドを使用
メッセージボックスの表示できないOffice Scriptには MsgBox のような機能なし
ユーザーフォームの使用できないフォームやUI要素の作成はできない
外部データの取得(CSV、SQLなど)できない現時点では外部データの直接取得はできない
ループ処理(For, WhileできるJavaScriptの構文でループ処理を記述可能
イベント駆動(ワークシート変更時の処理など)できないイベントトリガー機能は未対応
ファイルの保存・開くできないスクリプトから直接ファイルを開く・保存はできない
複数ファイルのイテレーション単体ではできないPower Automateを併用すれば、OneDriveやSharePoint上の複数ファイルに対して実行可能
マクロの実行(他のマクロを呼び出す)できない他のスクリプトを呼び出す機能はなし
Warning

この表はChatGPTで生成しています。ChatGPT の回答は必ずしも正しいとは限らないため、参考程度にご覧ください。

やはり高度な操作はVBAに及ばない印象です。このあたり、Google Apps Script(GAS)と似たような立ち位置のような気がします。

Office Scriptも非常に素晴らしい機能ではありますが、現時点ではVBAに比べてできることが限られているため、まだ学習の優先度は上げなくても良いのかなと感じました。

運営者・ポテ

ご覧いただきありがとうございました!

この記事を書いた人

運営者・ポテ
■人生を追求する凡人■日本一安全で、気の向くままに自分の時間を過ごせる、こだわりのキャンプ場を作るのが夢■光学・機械系エンジニア(歴20年、内マネジメント10年、特許数件権利化)/副業フリーランスエンジニア■読書・文学愛好■人生は時間そのもの。ひとりでも多くの人が「より良い人生にするために時間を使って欲しい」と願い、仕事のスキルの向上、余暇の充実、資産形成を研究。■VBAアプリ開発サービス提供中(業務委託 / VBA使用経験20年)■Python愛好(歴5年)■VBAエキスパート「Excel VBA スタンダード」(上級者向け資格)/ Python 3 エンジニア認定基礎(経済産業省「ITスキル標準(ITSS)」に掲載)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です