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