IsObject関数
IsObject関数は、VBA関数の中でデータ型変換関数に分類される関数です。
目次
IsObject関数とは
IsObject関数は、識別子がオブジェクト変数を表しているかどうかを示すブール型 (Boolean) の値を返します。
| 構文 | IsObject(identifier) | |
|---|---|---|
| 引数 | 省略 | 説明 |
| identifier | × | 引数 identifier には、変数の名前を指定します。 |
IsObject 関数は、バリアント型 (Variant) の内部処理形式 (VarType 関数) が定数 vbObject であるかどうかを調べる場合に役立ちます。VarType 関数が定数 vbObject を示すのは、バリアント型の変数が実際にオブジェクトを参照しているか、それ以前に参照していた場合、または変数に Nothing が含まれている場合です。
IsObject 関数は、引数 identifier がオブジェクト型 (Object) または任意の有効なクラスを指定して宣言した変数である場合に真 (True) を返します。また、引数 identifier がバリアント型で、VarType 関数が定数 vbObject の変数の場合、またはユーザー定義型の変数の場合にも、真 (True) を返します。これら以外の変数は、偽 (False) を返します。IsObject 関数は、変数に Nothing が設定されている場合にも、真 (True) を返します。
エラー トラップを設定して、オブジェクトへの参照が有効であるかどうかを確認します。
IsObject関数のサンプルコード
次の例は、IsObject 関数を使って、識別子がオブジェクトへの参照を表すかどうかを調べます。MyObject と YourObject は、同じ型のオブジェクト変数です。変数名は、説明する目的で一般的な名前を使っています。
Sub sample()
Dim MyInt As Integer, YourObject, MyCheck ' 変数を宣言します。
Dim MyObject As Object
Set YourObject = MyObject ' オブジェクトへの参照を設定します。
MyCheck = IsObject(YourObject) ' True を返します。
MyCheck = IsObject(MyInt) ' False を返します。
End Sub
実行結果
解説
データ型変換関数一覧
| 関数名 | 内容 |
|---|---|
| CBool | 指定した式をブール型に変換します。 |
| CByte | 指定した式をバイト型に変換します。 |
| CCur | 指定した式を通貨型に変換します。 |
| CDate | 指定した式を日付型に変換します。 |
| CDbl | 指定した式を倍精度浮動小数点数型に変換します。 |
| CDec | 指定した式を10進型に変換します。 |
| CInt | 指定した式を整数型に変換します。 |
| CLng | 指定した式を長整数型に変換します。 |
| CSng | 指定した式を単精度浮動小数点数型に変換します。 |
| CStr | 指定した式を文字列型に変換します。 |
| CVar | 指定した式をバリアント型に変換します。 |
| CVDate | 旧バージョンと互換を保つための関数で、バリアント型の日付を返します。 |
| Int | 指定した数値の整数部分を抽出します。指定した数値が負の場合は、値を超えない最大の負の整数を抽出します。 |
| IsDate | 式が日付に変換できるかどうかを調べた結果を返します。 |
| IsEmpty | 変数がEmptyかどうかを調べた結果を返します。 |
| IsMissing | プロシージャに省略可能なバリアント型の引数がわたされたかどうかを調べた結果を返します。 |
| IsNumeric | 式にNull値が含まれているかどうかを調べた結果を返します。 |
| IsObject | 変数がオブジェクト変数かどうかを調べた結果を返します。 |
