2025/08/30

LotusScript でダイアログボックスを表示(DialogBox メソッド)

ダイアログボックスは LotusScript を使って表示することも可能です。


構文

NotesUIWorkspace クラスの DialogBox メソッドを使うと指定したフォームのダイアログボックスを表示します。構文は次の通りです。

flag = notesUIWorkspace.DialogBox( form$ , [autoHorzFit] , [autoVertFit] , [noCancel] , [noNewFields] , [noFieldUpdate] , [readOnly] , [title$] , [notesDocument] , [sizeToTable] , [noOkCancel] , [okCancelAtBottom] )

引数がたくさんありますが、[ ] は省略可能であることを表すので、必須なのは 1 つ目だけとなります。オプション種類は @DialogBox とほぼ同じですね。もちろん指定したときの動作も同じです。

@DialogBox( form ; [AUTOHORZFIT] :[AUTOVERTFIT] :[NOCANCEL] :[NONEWFIELDS] :[NOFIELDUPDATE] :[READONLY] :[SIZETOTABLE] :[NOOKCANCEL] :[OKCANCELATBOTTOM] :[NONOTE] ; title )

@DialogBox のオプション設定は : (コロン)を使用してリスト値のように指定しました。DialogBox メソッドではオプション毎に別の引数になっており、その順に正しく指定する必要があるので注意が必要です。


また、LotusScript の DialogBox メソッドには、notesDocument 引数があり、ダイアログボックスに表示する文書を指定することができます。この機能については次回に詳しく紹介します。


利用例

前回 作成した[選択]ボタンの式は次の通りでした。

@DialogBox("dlgSetDept2"; [AutoHorzFit]:[AutoVertFit]; "部門の選択")

これを LotusScript で記述すると次のようになります。間にある省略できる引数は、,(カンマ)だけは記述しておく必要があります。記述は必要な引数まででよく、後続の引数は完全に省略できます。

Sub Click(Source As Button)
   Dim nuiw As New NotesUIWorkspace
   Call nuiw.DialogBox("dlgSetDept2", True, True, , , , , "部門の選択")
End Sub

ちなみに、前々回 の表に合わせてダイアログボックスを表示する式は次のようになります。

@DialogBox("dlgSetDept"; [AutoHorzFit]:[AutoVertFit]:[SizeToTable]; "部門の選択")

           ↓↓↓

Sub Click(Source As Button)
   Dim nuiw As New NotesUIWorkspace
   Call nuiw.DialogBox("dlgSetDept", True, True, , , , , "部門の選択", , True)
End Sub


戻り値の利用

ダイアログボックスを[OK]で閉じると戻り値が True となります。後続処理の実行判断に使うと便利です。

Sub Click(Source As Button)
   Dim nuiw As New NotesUIWorkspace
   If True = nuiw.DialogBox("dlgSetDept2", True, True, , , , , "部門の選択") Then
      '選択した部門に応じた処理を実行
            ・・・
   End If
End Sub


0 件のコメント:

コメントを投稿