■構文
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 件のコメント:
コメントを投稿