InputBox関数
InputBox関数は、VBA関数の中で制御・入出力関数に分類される関数です。
目次
InputBox関数とは
InputBox関数は、文字列型 (String) の値を返します。ダイアログ ボックスにメッセージとテキスト ボックスを表示し、文字列が入力されるか、またはボタンがクリックされると、テキスト ボックスの内容を返します。
構文 | InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context]) | |
---|---|---|
引数 | 省略 | 説明 |
prompt | × | ダイアログ ボックス内にメッセージとして表示する文字列を示す文字列式を指定します。名前付き引数 prompt に指定できる最大文字数は、1 バイト文字で約 1,024 文字です。ただし、使う文字の文字幅に依存します。名前付き引数 prompt に複数行を指定する場合は、キャリッジ リターン (Chr(13))、ライン フィード (Chr(10))、またはキャリッジ リターンとライン フィードの組み合わせ (Chr(13) & Chr(10)) を改行する位置に挿入し、行を区切ってください。 |
title | ● | ダイアログ ボックスのタイトル バーに表示する文字列式を指定します。名前付き引数 title を省略すると、タイトル バーにはアプリケーション名が表示されます。 |
default | ● | ユーザーが何も入力しない場合に、テキスト ボックスに既定値として表示する文字列式を指定します。名前付き引数 default を省略すると、テキスト ボックスには何も表示されません。 |
xpos | ● | 画面の左端からダイアログ ボックスの左端までの水平方向の距離を、twip 単位で示す数式を指定します。名前付き引数 xpos を省略すると、ダイアログ ボックスは水平方向に対して画面の中央の位置に配置されます。 |
ypos | ● | 画面の上端からダイアログ ボックスの上端までの垂直方向の距離を、twip 単位で示す数式を指定します。名前付き引数 ypos を省略すると、ダイアログ ボックスは垂直方向に対して画面の上端から約 1/3 の位置に配置されます。 |
helpfile | ● | ダイアログ ボックスに状況依存のヘルプを設定するために、使用するヘルプ ファイルの名前を示す文字列式を指定します。この引数は、表示するダイアログ ボックスの説明を、ヘルプを使って表示するときに指定します。名前付き引数 helpfile を指定した場合は、名前付き引数 context も指定する必要があります。 |
context | ● | ヘルプ トピックに指定したコンテキスト番号を表す数式を指定します。名前付き引数 context を指定した場合は、名前付き引数 helpfile も指定する必要があります。 |
名前付き引数 helpfile と context の両方を指定すると、ユーザ-は F1 キー(Windows の場合) または Help キー (Macintosh の場合) を押してコンテキスト番号に対応するヘルプ トピックを参照できます。たとえば Microsoft Excel などのホスト アプリケーションでは、自動的にダイアログ ボックスに [OK] ボタンが追加されます。[OK] ボタンをクリックするか、または Enter キーを押すと、InputBox 関数はテキスト ボックスの内容を返します。[キャンセル] ボタンをクリックすると、InputBox 関数は長さ 0 の文字列 ("") を返します。
名前付き引数 prompt 以外の引数も指定する場合は、式の中で InputBox 関数を使う必要があります。この場合、引数を省略するには、それに対応する位置にカンマ区切り記号を記述します。
InputBox関数のサンプルコード
次の例は、InputBox 関数を使って、ユーザーに値を入力させます。位置 x と y の指定を省略すると、ダイアログ ボックスは、水平軸および垂直軸に対して中央に自動的に配置されます。[OK] がクリックされるか、Enter キーが押されると、変数 MyValue には、ユーザーの入力した値が入ります。[キャンセル] がクリックされると、InputBox 関数は長さ 0 の文字列を返します。
Sub Sample
Dim Message, Title, Default, MyValue
Message = "1 から 3 までの値を入力してください。" ' 入力を求めるメッセージを設定します。
Title = "InputBox デモ" ' タイトルを設定します。
Default = "1" ' 既定値を設定します。
' メッセージ、タイトル、既定値を表示します。
MyValue = InputBox(Message, Title, Default)
' 状況依存のヘルプを設定します。ヘルプ ボタンが自動的に追加されます。
MyValue = InputBox(Message, Title, , , , "DEMO.HLP", 10)
' ダイアログ ボックスを位置 100,100 に表示します。
MyValue = InputBox(Message, Title, Default, 100, 100)
End Sub
実行結果
解説
制御・入出力関数一覧
関数名 | 内容 |
---|---|
Choose | 数値で指定した式の値を返します。 |
IIf | 式の結果により2つの引数のうち1つを返します。 |
Input | ファイルから指定した文字数の文字列を読みこんで返します。 |
InputB | ファイルから指定したバイト数のデータを読み込んで返します。 |
InputBox | ダイアログボックスにメッセージを表示しテキストボックスに入力した値を返します。 |
MsgBox | ダイアログボックスにメッセージを表示します。 |
Partition | 指定した数値の範囲が属する文字列を返します。 |
Spc | 指定した数のスペースを挿入します。 |
Switch | 条件式を評価し、真(True)の場合に式を返します。 |
TypeName | 変数に関する情報を返します。 |