例: Prompt method

  1. 次の PROMPT_OK の例は、情報メッセージを表示します。ダイアログボックスを閉じるには [OK] をクリックします。ユーザーに何かを知らせ、ユーザーからの応答としては確認以外に必要がない場合にこのスタイルを使用します。
    Sub Click(Source As Button)
      Dim workspace As New NotesUIWorkspace
      Dim askme As Integer
      askme = workspace.Prompt(PROMPT_OK, _
      "Reminder", "Don't forget to run backup tonight.")
    End Sub
  2. 次の PROMPT_YESNO の例はメッセージを表示し、ユーザーに操作を続行するか取り消すかを選択させます。ユーザーが [はい] を選択すると、操作の続行を受け入れることを意味する値 1 を返します。ユーザーが [いいえ] を選択すると、操作の続行を取り消すことを意味する値 0 を返します。
    Sub Click(Source As Button)
      Dim ws As New NotesUIWorkspace
      Dim askme As Integer
      askme = ws.Prompt (PROMPT_YESNO, _
      "Order status", "Is all information complete?")
      If askme = 1 Then
        Messagebox "Thank you for your business.", , _
        "Order submitted"
      End If
    End Sub
  3. 次の PROMPT_YESNOCANCEL の例もメッセージを表示し、ユーザーに [はい]、[いいえ]、[キャンセル] のいずれかを選択させます。ユーザーが [キャンセル] を選択すると、値 -1 を返します。
    Sub Click(Source As Button)
      Dim workspace As New NotesUIWorkspace
      Dim askme As Integer
      askme = workspace.Prompt (PROMPT_YESNOCANCEL, _
      "Send memo?", _
      "This memo will be sent to everyone listed in the To, CC, _
       and BCC fields.")
      If askme = 1 Then
        Messagebox "Memo sent", , "Status"
      End If
    End Sub
  4. 次の PROMPT_OKCANCELEDIT の例は、ユーザーにテキスト文字列として返されるメッセージの入力を求めます。デフォルトのメッセージは表示されません。
    Sub Click(Source As Button)
      Dim ws As New NotesUIWorkspace
      Dim askme As Variant
      askme = ws.Prompt (PROMPT_OKCANCELEDIT, _
      "We want to hear from you!", _
      "Enter your message here.")
      If Not Isempty (askme) Then
        Messagebox "Sending your message...", , _
        "Message status"
      End If
    End Sub
  5. 次の PROMPT_OKCANCELEDIT の例は、デフォルトの値を使用してユーザー名を表示し、修正を求めます。変更すると、名前が更新されます。ユーザーが終了すると、名前は変更されません。
    Sub Click(Source As Button)
      Dim workspace As New NotesUIWorkspace
      Dim response As Variant
      Dim dialogBox As String
      Dim userName As String
      userName = "Mr. Cheng"
      dialogBox = "Mailing List Update"
      response = workspace.Prompt (PROMPT_OKCANCELEDIT, _
      "Your name", _
      "Make changes here, if necessary, then click OK to continue _
       or Cancel to quit.", userName)
      If Isempty (response) Then
        Messagebox  "Name not added.", , dialogBox
      Else
        userName = response
        Messagebox "Thank you, " + userName + _
        ". Your name has been added.", , _
        dialogBox
      End If
    End Sub
  6. 次の PROMPT_OKCANCELLIST の例は、データベース名のリストボックスを表示し、ユーザーにデータベースを選択するよう求めます。データベース名はテキスト文字列として返され、次の操作に使用されます。ユーザーが [キャンセル] を選択すると、Empty の文字列を返します。ユーザーは一覧表示されたデータベースのオプションの中から 1 つを選択します。最初はデフォルトで Schedule がハイライト表示されています。デフォルトとして指定した値は、必ず表示リストにも含めます。
    Sub Click(Source As Button)
      Dim workspace As New NotesUIWorkspace
      Dim response As Variant
      Dim values(2) As Variant
      values(0) = "Schedule"
      values(1) = "Phone Book"
      values(2) = "My Mail"
      response = workspace.Prompt (PROMPT_OKCANCELLIST, _
      "Select a Database", _
      "Select a database to open.", _
      values(0), values)
      If Isempty (response) Then
        Messagebox "User canceled", , "Database not opened"
      Else
        Messagebox response, , "Open Database"
      End If
    End Sub
  7. 次の PROMPT_OKCANCELCOMBO の例は、PROMPT_OKCANCELLIST の例と同じようなダイアログボックスを表示します。ただし、この場合はドロップダウンリストが使用されるため、最初はデフォルト値だけが表示されます。ボックスの下矢印をクリックするとリストの残りの部分が表示されます。PROMPT_OKCANCELLIST の例と同様に、ユーザーは一覧表示された値の中から 1 つ選択します。最初はデフォルトで Schedule が選択されています。このスクリプトでは、ユーザーが選択したデータベースを返します。ユーザーが [キャンセル] を選択すると、Empty の文字列を返します。
    Sub Click(Source As Button)
      Dim ws As New NotesUIWorkspace
      Dim response As Variant
      Dim values(2) As Variant
      values(0) = "Schedule"
      values(1) = "Phone Book"
      values(2) = "My Mail"
      response = ws.Prompt (PROMPT_OKCANCELCOMBO, _
      "Select a Database", _
      "Select a database to open.", _
      values(0), values)
      If Isempty (response) Then
        Messagebox "User canceled", , "Database not opened"
      Else
        Messagebox response, , "Open Database"
      End If
    End Sub
  8. 次の PROMPT_OKCANCELEDITCOMBO の例は、PROMPT_OKCANCELCOMBO の例と類似しています。ただし、この例では、ユーザーがテキストボックスを編集し、名前を入力できます。そのため、ユーザーはリストにある値以外を入力できます。このスクリプトでは、ユーザーが選択するか入力する到着先の都市を返します。ユーザーが [キャンセル] を選択すると、Empty の文字列を返します。デフォルト値はリスト内に必ず含めます。そうしないと、テキストボックスが最初に表示されるときに空白になってしまいます。
    Sub Click(Source As Button)
      Dim ws As New NotesUIWorkspace
      Dim askme As Variant
      Dim destination As String
      Dim city(4) As Variant
      city(0) = "Bangkok"
      city(1) = "Berlin"
      city(2) = "Bombay"
      city(3) = "Boston"
      city(4) = "Sydney"
      askme = ws.Prompt (PROMPT_OKCANCELEDITCOMBO, _
      "Where do you want to go?", _
      "Select destination. If not in list, type name of city.", _
      city(3), city)
      If Not Isempty (askme) Then
        destination = Ucase (askme)
        Messagebox "Enjoy your flight!", , "Destination: " + _
        destination
      End If
    End Sub
  9. 次の PROMPT_OKCANCELLISTMULT の例は、名前のリストを表示します。ユーザーは、そのリストから 1 つまたは複数の名前を選択できます。デフォルト値はリスト内に必ず含めます。Mary Tsen はデフォルトの選択内容として表示されます。このスクリプトでは、ユーザーが選択した名前を返します。ユーザーが [キャンセル] を選択すると、Empty の文字列を返します。
    Sub Click(Source As Button)
      Dim ws As New NotesUIWorkspace
      Dim askme As Variant
      Dim names(3) As Variant
      names(0) = "Bill Chu"
      names(1) = "Michael Bowling"
      names(2) = "Mary Tsen"
      names(3) = "Marian Woodward"
      askme = ws.Prompt(PROMPT_OKCANCELLISTMULT, _
      "Select a Name", _
      "Select one or more names as recipients for this request.", _
      names(2), names)
      If Isempty(askme) Then
        Messagebox "User canceled", , "No one selected"
      Else
        Forall ask In askme
          asklist = asklist & ask & Chr(10)
        End Forall
        Messagebox asklist, , "Recipients"
      End If
    End Sub
  10. 次の PROMPT_PASSWORD の例は、ユーザーがパスワードを入力するダイアログボックスを表示します。入力したパスワードは、画面には表示されません。入力されたパスワードが「xyzabc」ではない場合、正しいパスワードが入力されるまでパスワード入力を求めるプロンプトを 2 度表示します。
    Sub Click(Source As Button)
      Dim workspace As New NotesUIWorkspace
      Dim askme As Variant
      Dim  count As Integer
      count = 0
      Do Until askme = "xyzabc" 
        askme = workspace.Prompt(PROMPT_PASSWORD, _
        "Password", "Please type your password.")
        count = count + 1
        If count > 2 Then
          Messagebox "Invalid password."
          Exit Sub
        End If
      Loop
    End Sub