EB000021_VBAエキスパート(ExcelVBAベーシック)合格講座/第二十一回:オブジェクト

VBAエキスパート(ExcelVBAベーシック)合格講座/第二十一回:オブジェクト ExcelVBA Basic

このページの内容について

このページは、VBAエキスパート(ExcelVBAベーシック)試験合格講座の第二十一回記事です。公式テキスト第4章「VBAの構文」と第9章「シートとブックの操作」の内容について解説します。1時間の講義でお話する程度の分量です。講座受講者の復習での利用を想定しています。

オブジェクト

オブジェクトとは

VBAにおいてオブジェクトとは「機能(メソッド)」と「状態(プロパティ)」の集合体のことを指します。

機能(メソッド)

メソッドとは

メソッドとは関数のようなもので引数を渡して戻り値を得たり、呼び出すことでなにか動作やアクションが発生したりします。

メソッドの呼び出し方

オブジェクトの中のメソッドを呼び出す(使用する)ためには、「オブジェクト名.メソッド名」と記述します。引数がある場合は続けて「()」内に記述します。

サンプルコード(クリックでコピー)

Private Sub Test_Method()
Call VBA.MsgBox("「VBA」というオブジェクトのメソッドである「MsgBox」を呼び出してメッセージを表示します。")
End Sub

オブジェクトの省略

ExcelVBA(マクロ)では一部のオブジェクトは省略して記載することができます。上記のMsgBox関数はメッセージボックスを表示させるVBAに備え付けの関数ですが、実体は「VBA」というオブジェクトに含まれるメソッドです。しかしこの「VBA」というオブジェクトは特別に省略して記述することが認められており「MsgBox」と記述すると、マクロ実行時に「VBA」オブジェクトであることを自動で判定し実行されます。

状態(プロパティ)

プロパティとは

プロパティとはオブジェクトの持っている値のことです。また、オブジェクトの中にはオブジェクトが入れ子構造で入っていることもあります。便宜上、オブジェクトの中のオブジェクトもプロパティに分類されます。

プロパティの確認方法

メソッドと同様「オブジェクト名.プロパティ名」で参照することができます。

サンプルコード(クリックでコピー)

Private Sub Test_Property()
Debug.Print ThisWorkbook.Name
End Sub

「ThisWorkbook」はマクロが動作中のブックを参照する特別なオブジェクトです。

【PR】VBAエキスパート試験対策記事

当サイトでは、オデッセイコミュニケーションズ社が運営する試験であるVBAエキスパートExcel VBA ベーシックExcel VBA スタンダード)の出題範囲をベースに用語や各種関数の解説などを行っています。試験合格に向けて必須と言われる公式テキストに沿って解説をしています。受験をするか悩んでいる方、テキストとは別視点の解説を見てみたい方、受験はしないがExcelVBA(マクロ)に興味がある方へ向けた記事です。

Comment