VBAのInputBox関数について解説しています。
InputBox関数は、VBA関数の中で制御・入出力関数に分類される関数です。
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 関数を使って、ユーザーに値を入力させます。位置 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 | 変数に関する情報を返します。 |
↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。
VBAのIE操作入門↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。
こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。