VBScript: Inputbox 関数

ユーザーに何らかの情報を入力したもらうために インプットボックスを表示する場合、 VBScriptではInputBox 関数を使用します。

InputBox関数の書式は次の通りです。

InputBox(メッセージ [, タイトル [, 初期値]])

戻り値は入力された内容で、キャンセル時は空の文字列("")が戻ります。 閉じるボタンや「Esc」キーで入力ボックスが閉じられた場合も キャンセル同様に空の文字列が戻ります。

「メッセージ」は入力ボックスに表示するメッセージで、 「タイトル」と「初期値」は省略可能です。

次のサンプルコードでは、 年齢を確認するためのInputBoxを表示し、 年齢に応じて処理を分岐させています。

' インプットボックスを表示
strRe = InputBox("年齢を入力してください", "年齢確認", "30")

If strRe = "" Then
	' キャンセル時の処理
Else 

	'数値に変換
	intRe = CInt(strRe)
	
	If intRe >= 20 Then
		' 20 以上の場合の処理
	Else
		' 19 以下の場合の処理
	End If

End If

上のコードを実行すると、 下図のInputBoxが表示されます。

inputbox

InputBoxの表示位置を指定したい場合

あまり使用しないと思いますが、 InputBox 関数の第4引数と第5引数でInputBoxの表示位置を指定することもできます。

次のような書式になります。

InputBox(メッセージ [, タイトル [, 初期値 [, x [, y]]]])

「x」は左端からの位置で、「y」は上端からの位置です。 共にtwip単位で指定します。

次のサンプルコードではx位置、y位置を指定しています。

' インプットボックスを表示
strRe = InputBox("年齢を入力してください", "年齢確認", "30", 100, 100)

Inputboxのメッセージ内に改行を入れたい場合

インプットボックスのメッセージに改行を入れることもできます。
その場合は改行コードを表す定数「vbCr」または「vbCrLf」を使用します。

' インプットボックスを表示
strRe = InputBox("下のボックスに" & vbCrLf & "年齢を入力してください")

上のコードを実行すると、 メッセージ部分に改行が入ったInputBoxが表示されます。

改行入り inputbox
VBScript入門