【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に比べてできることが限られているため、まだ学習の優先度は上げなくても良いのかなと感じました。

ご覧いただきありがとうございました!
この記事を書いた人
- ソフトデザイン工房|日々の業務にちょうどいい自動化を
- ■人生を追求する凡人 ■日本一安全で、気の向くままに自分の時間を過ごせる、こだわりのキャンプ場を作るのが夢 ■ソフトデザイン工房運営(個人事業者) - 業務改善アプリケーションをご提供 ■人生は時間そのもの。ひとりでも多くの人が「より良い人生にするために時間を使って欲しい」と願い、仕事のスキルの向上、余暇の充実、資産形成にチャレンジ。




