■構文
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
- Dim temp
- '■Empty値と判定するケース
- Wscript.Echo VarType(temp) '0 宣言した直後はEmptyと判定されます。
- '■Null値と判定するケース
- temp = Null
- Wscript.Echo VarType(temp) '1 Nullが代入されているとNullと判定されます
- '■整数,長整数,バイト型と判定するケース
- temp = 32767
- Wscript.Echo VarType(temp) '2 32767まで整数型なので2を返す
- temp = 32768
- Wscript.Echo VarType(temp) '3 32768からは長整数型ので3を返す
- temp = 1
- Wscript.Echo VarType(temp) '2 256の範囲だからと言ってByte型にはなりません
- temp = CByte(temp)
- Wscript.Echo VarType(temp) '17 明示的に型変換するとByte型と判定します
- '■単精度・倍精度浮動小数点数型と判定するケース
- temp = 1.1
- Wscript.Echo VarType(temp) '5 小数点数は倍精度浮動小数点数型と判定します。
- temp = CSng(temp)
- Wscript.Echo VarType(temp) '4 明示的に型変換すると単精度浮動小数点型と判定します
- '■日付型と判定するケース
- temp = Dateserial(2000, 1, 1)
- Wscript.Echo VarType(temp) '7 日付、時間関係の値が入っていると日付型と判定します
- '■文字列型と判定するケース
- temp = "a"
- Wscript.Echo VarType(temp) '8 ダブルクォーテーションで囲んだ文字・文字列は文字列型と判定します
- '改行コードやタブといったものも文字列型と判定されます
- temp = vbCrLf
- Wscript.Echo VarType(temp) '8
- temp = vbTab
- Wscript.Echo VarType(temp) '8
- '■オブジェクトと判定するケース
- Set temp = CreateObject("Scripting.Dictionary")
- Wscript.Echo VarType(temp) '9
- Set temp = Nothing
- Wscript.Echo VarType(temp) '9 Nothingを代入してもオブジェクトと判定する
- '■Bool値と判定するケース
- temp = (1 < 5)
- Wscript.Echo VarType(temp) '11 条件式の結果はBool値となります
- '■バリアント型と判定するケース(バリアント型の配列にのみ使用)
- Dim temp2()
- Wscript.Echo VarType(temp2) '8204 = 12:バリアント型 + 8192:配列
- Redim temp2(1)
- Wscript.Echo VarType(temp2) '8204 = 12:バリアント型 + 8192:配列
- temp2(0) = 123
- Wscript.Echo VarType(temp2) '8204 = 12:バリアント型 + 8192:配列
- temp2(0) = "abc"
- Wscript.Echo VarType(temp2) '8204 = 12:バリアント型 + 8192:配列
- '型を宣言しないので、配列はすべてバリアント型の配列となる
0 件のコメント:
コメントを投稿