変数がオブジェクト型かどうかをチェックする( IsObject 関数 )
IsObject 関数の使い方
result = IsObject ( expression )
【引数・戻り値】
- expression ・・・ 調べる変数や式
- result ・・・ 引数 expression が、オブジェクト型の変数であるかどうかを調べた結果
(ブール型:オブジェクト変数であれば、True / そうでなければ、False )。
IsObject 関数は、引数 expression がオブジェクト型(Object)で宣言された変数であったり、任意の有効なクラスを指定して宣言された変数である場合は、真(True)を返します。
また、expression がバリアント型(Variant)であっても、Set ステートメントで、オブジェクト変数を参照している場合は、真(True)を返します。さらに、変数に、Nothing が設定されている場合にも真(True)を返します。
IsObject 関数の使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Sub Sample_isobject() Dim myObj1 As Object, myObj2 As Object, myObj3 As Object Dim myVal1, myVal2, myVal3, myVal4 Set myObj1 = Application.ActiveWorkbook Set myObj3 = Nothing Set myVal1 = myObj2 myVal2 = "Hello!" myVal3 = Null 'True Debug.Print IsObject(myObj1) 'ワークブックオブジェクト Debug.Print IsObject(myObj2) 'オブジェクト型(宣言のみ) Debug.Print IsObject(myObj3) 'Nothing を設定 Debug.Print IsObject(myVal1) 'バリアント型(オブジェクト型を参照) 'False Debug.Print IsObject(myVal2) 'バリアント型(文字列) Debug.Print IsObject(myVal3) 'バリアント型(Null) Debug.Print IsObject(myVal4) 'バリアント型(Empty) End Sub |
実行結果
関連記事
-
-
オートシェイプの種類を表す定数(MsoAutoShapeType 列挙型)
MsoAutoShapeType 列挙型 オートシェイプオブジェクトの図形の種類 …
-
-
画面の更新を停止(ScreenUpdating プロパティ)
画面の更新を停止 マクロを実行すると、画面が更新されます。これにより、実行速度が …
-
-
カレントフォルダ(CurDir 関数、ChDir ステートメント、ChDrive ステートメント)
カレントフォルダ カレントフォルダとは、ブックを開いたり保存するときに既定で参照 …
-
-
配列(多次元配列・配列の次元の変更)
多次元配列 【書式】 多次元配列の宣言 <静的配列(固定長配列)> Dim my …
-
-
インプットボックスを表示する(InputBox関数・InputBoxメソッド)
「InputBox関数」と「InputBoxメソッド」の違い 「InputBox …
-
-
乱数ジェネレータを初期化 (乱数系列を再設定) する(Randomize ステートメント)
Randomize ステートメントの使い方 Rnd 関数 を使用する前に使用しま …
-
-
文字列:文字列左から指定文字数取得(Left 関数,LeftB 関数)
Left 関数・LeftB 関数 の使い方 【書式】 result_left = …
-
-
文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)
Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 …
-
-
Erase ステートメント(配列の初期化・動的配列のメモリ解放)
Erase ステートメントの使い方 【書式】 Erase myArray [, …
-
-
連想配列(Dictionary オブジェクト)
連想配列 連想配列とは、添字(キー)に文字列を使用することができる配列です。 V …