【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上の複数ファイルに対して実行可能 |
マクロの実行(他のマクロを呼び出す) | できない | 他のスクリプトを呼び出す機能はなし |
やはり高度な操作はVBAに及ばない印象です。このあたり、Google Apps Script(GAS)と似たような立ち位置のような気がします。
Office Scriptも非常に素晴らしい機能ではありますが、現時点ではVBAに比べてできることが限られているため、まだ学習の優先度は上げなくても良いのかなと感じました。

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