VBA開発者がGASに挑戦して気づいた用語の違い

コラム

私はこれまで、主にVBAを用いて開発を行ってきましたが、最近になって、あるグループからの依頼でGAS(Google Apps Script)を用いた開発を行う機会がありました。

GASに関する知識はあまりありませんでしたが、生成AIのお陰でなんとか無事に開発することができました。ただし、AIに指示を出したり、AIからの回答を読み解いたりする中で、VBAとGASの用語の違いにとまどうことが何度かありました。

そこで、今後の開発の備忘録もかねて、GeminiにVBAとGASの用語の違いを一覧表にまとめてもらいました。改めて比較してみると、違う用語が用いられている場合もあれば、同じ用語が違う意味で使われている場合もあり、非常に面白い発見があります。以下がその比較表です。

VBAとGASの用語比較表

概念の大きいもの(アプリケーションやプログラムの全体構造)から小さいもの(コードの構成要素や個別の命令)の順に並べています。

VBAの用語GASの用語意味・概要
マクロスクリプト作成されたプログラム(処理のまとまり)全般を指す通称。
マクロ記録マクロ記録(マクロ)ユーザーの操作を記録し、自動的にコードを生成する機能のこと。GASにも同等の機能があり、Googleスプレッドシートの「拡張機能」→「マクロ」→「マクロを記録」から利用できる。生成されるコードはGASで記述される。なお、GASでは「マクロ」という語がこの記録機能を指す場合と、スクリプト全般の通称として使われる場合があるため注意が必要。
ブック (Workbook)スプレッドシート (Spreadsheet)ファイル全体のこと。GASではExcelのブックを「スプレッドシート」と呼ぶ。
シート (Worksheet)シート (Sheet)アプリケーション内の各ページ。
行 (Row)行 (Row)シートの横方向の並び。
列 (Column)列 (Column)シートの縦方向の並び。
プロジェクトプロジェクトプログラムをまとめた全体の単位。
モジュールスクリプトファイル (.gsファイル)コードを記述するファイル。VBAの標準モジュールなどに相当する。
標準モジュールスクリプトファイル (.gsファイル)一般的なコードを記述する領域。GASでは特有の区分はなく、すべてスクリプトファイルに記述する。
ブックモジュール / シートモジュール(特定の区分なし)ブックやシートに紐づく専用のコード領域。GASでは専用の区分はなく、通常のスクリプトファイルにイベント処理などを記述する。
フォーム (UserForm)カスタムUI(HTMLサービス)独自の操作画面を作成する機能。GASではHTMLおよびCSS、JavaScriptを用いて作成し、ダイアログやサイドバーとして表示する。なお、GASには「Googleフォーム」を操作するための FormApp という別の機能も存在するため、混同しないよう注意が必要。
プロシージャ (Sub)関数 (Function)処理のまとまり。GASでは戻り値の有無にかかわらず、すべて「関数(function)」として扱う。
標準プロシージャ関数 (Function)イベントに依存せず、手動やほかのコードから呼び出されて実行される一般的な処理。
イベントプロシージャトリガー(イベントハンドラ)特定の操作(ファイルを開く、編集するなど)をきっかけに自動実行される処理。GASでは onOpenonEdit などのシンプルトリガーのほか、インストーラブルトリガーがある。
関数 (Function)関数 (Function)値を返す処理のまとまり。(GASではプロシージャと同義)
ユーザー定義関数カスタム関数セルから直接呼び出して計算などに利用する独自関数のこと。
クラス / クラスモジュールクラス (Class)オブジェクトの設計図。独自のプロパティやメソッドを定義するために使用する。
オブジェクトオブジェクトデータおよび処理(メソッド)をまとめたもの。
プロパティプロパティオブジェクトが持つ属性やデータ。
メソッドメソッドオブジェクトが持つ操作や処理。
ステートメント文(ステートメント)処理を実行するための1行、またはまとまった命令。
宣言宣言変数や定数を使用するための定義。VBAの Dim に対し、GASは letconstvar を使用する。
変数変数データを一時的に格納する入れ物。
バリアント型 (Variant)(特定の型名なし)GASは動的型付け言語であるため、すべての変数が宣言時に型を特定せず、さまざまな型のデータを保持できる。
定数定数書き換え不可能な値の入れ物。
配列 (Array)配列 (Array)複数のデータを順序付けてまとめる構造。GASの配列はサイズ変更が容易で、多様な操作メソッドを備える。
Collection配列 (Array)順序付きのリストとしてデータを管理する構造。GASでは配列がこれに相当し、pushfilter などの豊富なメソッドを利用できる。
Dictionaryオブジェクト ({}) / Mapキーと値のペアでデータを管理する構造。GASではオブジェクト({})やビルトインの Map で代用する。
代入代入変数などに値を入れること。VBAでは = が代入と比較の両方に使われるが、GASでは代入が =、比較が ==(型変換あり)または ===(厳密比較)と明確に区別される。
演算子演算子計算や比較を行う記号(+====== など)。
Nothing / Emptynull / undefinedオブジェクトや値が存在しない状態。GASでは「値がない(null)」と「未定義(undefined)」が明確に区別される。
On Error(エラーハンドリング)try…catch 文エラー(例外)発生時の処理を記述する構文。
MsgBoxgetUi().alertユーザーにメッセージを表示するダイアログ。
Debug.Printconsole.logデバッグ時に値を出力するための命令。GASではエディタの実行ログに表示される。
コメントコメント実行されない説明書き。VBAは '、GASは ///* */ を使う。

コメント

タイトルとURLをコピーしました