2016-04-18 4 views
0

「フィールド1」と「フィールド2」という2つのフィールドと「チェック」という1つのアクションボタンがあるフォームがあります。そのアクションボタンをクリックすると、フィールド2の値に基づいて自動的に入力される3つのフィールドを持つダイアログボックスが開きます。それを達成する方法?ロータスノートのダイアログボックスで引数を渡すことはできますか

誰かが私を助けてくれてありがとうございます。

答えて

4

はい、可能です。 NotesUIWorkspace.DialogBox()のパラメータはdocumentです。このドキュメントを使用して、ダイアログにパラメータを渡します。


UPDATE

はあなたのダイアログを表す名称 "MyDialogForm" でフォームを持っていると仮定します。

それはそのように見え、3つのフィールドが含まれます。

MyDialogForm

をそして、あなたは2つのフィールドを持つフォームを持っているし、ボタンを "確認":

TestForm

に次のコードを入れてください「確認」ボタンの「クリック」イベントハンドラ:

Sub Click(Source As Button) 
    Const DIALOG_FORM_NAME = "MyDialogForm" 

    Dim ws As New NotesUIWorkspace 
    Dim dialogBoxAccepted As Boolean 
    Dim dialogParamDoc As NotesDocument 

    Dim currentDocument As NotesDocument  
    Dim field2Value As String 

    Set currentDocument = ws.CurrentDocument.Document 
    field2Value = currentDocument.GetItemValue("Field2")(0) 

    'document created in-memory, but should not be saved 
    Set dialogParamDoc = New NotesDocument(currentDocument.ParentDatabase) 

    'populating dialog box fields 
    Call dialogParamDoc.ReplaceItemValue("DialogField1", "dialogField1 with: " + field2Value) 
    Call dialogParamDoc.ReplaceItemValue("DialogField2", "dialogField2 with: " + field2Value) 
    Call dialogParamDoc.ReplaceItemValue("DialogField3", "dialogField3 with: " + field2Value) 

    dialogBoxAccepted = ws.DialogBox(DIALOG_FORM_NAME,True , True, False, False , False , False, "My Dialog Title", dialogParamDoc, True) 
    If dialogBoxAccepted Then 
     'displaying values, entered/changed in dialog box 
     Msgbox dialogParamDoc.getItemValue("DialogField1")(0),,"DialogField1" 
     Msgbox dialogParamDoc.getItemValue("DialogField2")(0),,"DialogField2" 
     Msgbox dialogParamDoc.getItemValue("DialogField3")(0),,"DialogField3" 
    End If 
End Sub 

このコードは "Field2"を読み取り、その値に基づいてダイアログフィールドに値を設定します。次に、これらの値を変更できるダイアログが表示されます。

demo dialog

あなたが(ダイアログが受け入れられた)あなたのダイアログで[OK]を押した場合は、コードを使用すると、ダイアログボックスで変更した値が表示されます。

+0

これは丁寧にplsと言うことができますか?私はこの技術に新しいので – Sathish

+0

瞬間、私は少し遅れて更新を投稿しますので –

+0

@サシチ私の更新を確認してください。私はあなたの質問に答えると思う。 –