LOTUSSCRIPT 言語
InputBox 関数は指定された入力応答とテキストボックス、および [OK] または [キャンセル] ボタンを使用したダイアログボックスを表示します。入力ボックスのタイトル、既定値、画面上の位置を指定することもできます。
ユーザーはテキストボックスに文字を入力して [OK] をクリックします。InputBox はユーザーが入力した文字列を返します。データ型変換の関数 (DateValue、CBool、CByte、CCur、CDat、CDbl、CInt、CLng、CSng、CVar) を使用して、入力された値を数値、日付/時刻、または Variant 型の値に変換できます。文字列値以外の値を変換する場合、変換できない文字列をユーザーが入力したときのためのエラー処理を含めておくこともできます。たとえば「XYZ」は数値に変換することはできません。
Print ステートメントは現在の出力ウィンドウにメッセージを表示します。出力ウィンドウは作業している Lotus ソフトウェアアプリケーションによって異なります。MessageBox はタイトル (省略可能)、メッセージ、アイコン (省略可能)、1 つ以上のコマンドボタンを含むメッセージボックスを表示します。
メッセージを表示する場合、MessageBox ステートメントを使用し、[OK] ボタンを含めます (既定)。ユーザーはメッセージを読んで [OK] をクリックし、スクリプトの実行は次のステートメントに進みます。
ユーザーに複数のオプションを提供するには、MessageBox 関数を使用して複数のコマンドボタンを含めます。たとえば、[OK] と [キャンセル] ボタンを含めます。If ステートメントや Case ステートメントを使用して、ユーザーの入力に応じて応答できます。
スクリプトは差引きを計算し、MessageBox ステートメントを使用して差引き勘定を Currency 型でフォーマットして表示します。
Sub CalcBalance Dim revenue As Currency, expenses As Currency, balance _ As Currency revenue@ = CCur(InputBox("How much did we make" & _ " this month?")) expenses@ = CCur(InputBox("How much did we spend?")) balance@ = revenue@ - expenses@ MessageBox "Our balance this month is " _ & Format(balance@, "Currency") End Sub
2 つの入力ボックスのサンプル入力と結果のメッセージボックスは、次のとおりです。
CCur 関数が Currency 型に変換できない文字列をユーザーが入力すると、エラーになります。そのような場合には、On Error ステートメントを使用してエラー処理ルーチンへ分岐させることもできます。
次の例は上の例を拡張し、MessageBox 関数を使用して、再入力するかどうかをユーザーに尋ねます。2 番目のメッセージボックスにも疑問符のアイコンを MB_ICONQUESTION (32) で指定して含めます。MessageBox の引数と対応する数値の代わりに定数を使用するには、定数を定義するファイル LSCONST.LSS をモジュール宣言に含める必要があります。
%Include "LSCONST"
Sub CalcBalance Dim revenue As Currency, expenses As Currency, balance _ As Currency EnterValues: On Error GoTo BadCur: revenue@ = CCur(InputBox("How much did we make" & _ " this month?")) expenses@ = CCur(InputBox("How much did we spend?")) balance@ = revenue@ - expenses@ MessageBox "Our balance this month is " _ & Format(balance@, "Currency") Exit Sub
BadCur: If MessageBox("Invalid entry!Do you want to try again?", _ MB_YESNO + MB_ICONQUESTION) = IDYES Then GoTo _ EnterValues Exit Sub End Sub
ユーザーが無効な値を入力した場合、再入力を要求するメッセージボックスが表示されます。
エラー処理について詳しくは、「エラーの処理」を参照してください。
Lotus Domino Server のコンテキストでの Msgbox
LotusScript エージェントを Lotus Domino Server 上で実行すると、MsgBox、Inputbox、および Print コマンドはステータスバーにリダイレクトされ、エージェントログに入れられます。
HTTP サーバーについては、これらのコマンドは出力をブラウザにリダイレクトします。これらのコマンドを使用して HTML ページを動的に作成し、任意のブラウザに提供できます。
関連項目