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

ユーザーが無効な値を入力した場合、再入力を要求するメッセージボックスが表示されます。

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

Lotus Domino Server のコンテキストでの Msgbox

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

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

関連項目