■構文
VarType(varname)
■説明
変数の内部処理形式を表す整数型 (Integer) の値を返します。
第一引数:変数を指定します。
戻り値
■サンプルコード
VarType(varname)
■説明
変数の内部処理形式を表す整数型 (Integer) の値を返します。
第一引数:変数を指定します。
戻り値
定数 | 値 | 内容 |
vbEmpty | 0 | Empty 値 (未初期化) |
vbNull | 1 | Null 値 (無効な値) |
vbInteger | 2 | 整数型 (Integer) |
vbLong | 3 | 長整数型 (Long) |
vbSingle | 4 | 単精度浮動小数点数型 (Single) |
vbDouble | 5 | 倍精度浮動小数点数型 (Double) |
vbCurrency | 6 | 通貨型 (Currency) |
vbDate | 7 | 日付型 (Date) |
vbString | 8 | 文字列型 (String) |
vbObject | 9 | オブジェクト |
vbError | 10 | エラー値 |
vbBoolean | 11 | ブール型 (Boolean) |
vbVariant | 12 | バリアント型 (Variant) (バリアント型配列にのみ使用) |
vbDataObject | 13 | 非OLE オートメーション オブジェクト |
vbDecimal | 14 | 10 進数型 |
vbByte | 17 | バイト型 (Byte) |
vbUserDefinedType | 36 | ユーザー定義型を含むバリアント型 |
vbArray | 8192 | 配列 |
■サンプルコード
Option Explicit Sub SampleCode() '■Empty値と判定するケース Dim var0 As Variant Debug.Print VarType(var0) '0 '注:値を入れたらその値の型に判定されます var0 = 123 Debug.Print VarType(var0) '2 '■Null値と判定するケース Dim var1 As Variant var1 = Switch(False, "test") 'switch関数で真にならずNullを返す Debug.Print VarType(var1) '1 '注:vbNullは長整数型の1と同等のため3を返します。 Debug.Print VarType(vbNull) '■整数型と判定するケース Dim var2 As Integer Debug.Print VarType(var2) '2 Debug.Print VarType(-100) '2 Debug.Print VarType(32767) '2 32767まで整数型の範囲なので2を返す '■長整数型と判定するケース Dim var3 As Long Debug.Print VarType(var3) '3 Debug.Print VarType(32768) '3 32768以上は長整数型の範囲 '■単精度浮動小数点数型と判定するケース Dim var4 As Single Debug.Print VarType(var4) '4 '■倍精度浮動小数点数型と判定するケース Dim var5 As Double Debug.Print VarType(var5) '5 Debug.Print VarType(1.1) '5 '■通貨型と判定するケース Dim var6 As Currency Debug.Print VarType(var6) '6 '■日付型と判定するケース Dim var7 As Date Debug.Print VarType(var7) '7 '■文字列型と判定するケース Dim var8 As String Debug.Print VarType(var8) '8 '注:改行コードやタブといったものも文字列型と判定されます Debug.Print VarType(vbCrLf) '8 Debug.Print VarType(vbTab) '8 '■オブジェクトと判定するケース Dim var9 As Object Debug.Print VarType(var9) '9 Dim SelfClass As New TestClass '自作のTestClass Debug.Print VarType(SelfClass) '9 '■ブール型と判定するケース Dim var11 As Boolean Debug.Print VarType(var11) '11 Debug.Print VarType(True) '11 Debug.Print VarType(False) '11 '■バリアント型と判定するケース(バリアント型の配列にのみ使用) Dim var8204() As Variant Debug.Print VarType(var8204) '■10新数方と判定するケース Dim var14 As Variant var14 = CDec(123) Debug.Print VarType(var14) '■バイト型と判定するケース Dim var17 As Byte Debug.Print VarType(var17) '17 '■配列と判定するケース Dim var8200(3) As String Debug.Print VarType(var8200) '8200(String:8 + 配列:8192) End Sub
0 件のコメント:
コメントを投稿