LOTUSSCRIPT 言語


ユーザーと対話する
Lotus 製品は、対話式アプリケーションの作成に適しています。対話式アプリケーションは、ユーザーからの入力を受け入れたり、ユーザーに特定のタスクの実行を促したりします。それぞれの Lotus ソフトウェアにはスクリプトとの対話用に独自のユーザーインターフェースがありますが、LotusScript はどの Lotus ソフトウェアでも使える基本的なツールを提供します。
次の例では、InputBox 関数を使ってユーザーから月次売上と月次経費を取得し、文字列を Currency 型に変換します。

スクリプトは差引を計算し、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

ユーザーが無効な値を入力すると、メッセージボックスが表示されて再入力を促されます。

エラー処理について詳しくは、「エラーの処理」を参照してください。

Domino Server のコンテキストでの Msgbox
LotusScript エージェントを Domino Server 上で実行すると、MsgBox、Inputbox、および Print コマンドはステータスバーにリダイレクトされ、エージェントログに入れられます。

HTTP サーバーについては、これらのコマンドは出力をブラウザにリダイレクトします。これらのコマンドを使って HTML ページを動的に作成し、任意のブラウザに提供できます。

関連項目