@Prompt (式言語)

ダイアログボックスを表示し、ユーザーの入力する値を受け取り、その値に基づいて文字列値を返します。ユーザーに情報の入力を求め、その入力結果に基づいて処理を決定する場合に使用すると便利です。

ダイアログボックスのスタイルのまとめ

次の表に、表示可能なダイアログボックスのスタイルを示します。@Prompt にはパラメータを指定でき、指定するスタイルに基づいた値が表示されます。

スタイル

目的

Contains

戻り値

ChooseDatabase

データベースを選択できる

データベースを参照するためのコントロールと表示。[開く]、[選択]、[キャンセル]、[参照]、[ヘルプ]、[データベースについて]のボタン

3 つの値の文字列リストが返されます。サーバー名、ファイル名、データベースのタイトルが返されます。データベースがローカルのときは、サーバー名には Null が返されます。

LocalBrowse

ユーザーは、ローカルファイルシステムからファイル名を選択できる

ローカルファイルシステムを参照するためのコントロールと表示
[選択]、[キャンセル]、[ネットワーク]、[ヘルプ] のボタン

文字列。ユーザーが入力または選択したファイル名。

Ok

情報メッセージを表示する

タイトルとプロンプト
[OK] ボタン

1 (True)

OkCancelCombo

ユーザーは、選択肢を示すドロップダウンリストから値を 1 つ選択できる

タイトルとプロンプト
選択肢のリスト
[OK] と [キャンセル] のボタン

文字列。ユーザーが選択した値です。

OkCancelEdit

ユーザーは、テキストボックスに入力できる

タイトルとプロンプト
入力用テキストボックス
[OK] と [キャンセル] のボタン

文字列。ユーザーが入力した値です。

OkCancelEditCombo

ユーザーは、選択リストから値を 1 つ選択するか別の値を入力できる

タイトルとプロンプト
テキストボックスのある選択リスト

[OK] と [キャンセル] のボタン

文字列。ユーザーが選択または入力した値です。

OkCancelList

ユーザーは、選択リストから値を 1 つ選択できる

タイトルとプロンプト
選択肢のリスト
[OK] と [キャンセル] のボタン

文字列。ユーザーが選択した値です。

OkCancelListMult

ユーザーは、選択リストから複数の値を選択できる

タイトルとプロンプト
選択肢のリスト
[OK] と [キャンセル] のボタン

文字列リスト。ユーザーが選択したすべての値です。

パスワード

ユーザーは、パスワードを画面に表示せずに入力できる

タイトルとプロンプト
ユーザー入力を非表示で受け付けるテキストボックス
[OK] と [キャンセル] のボタン

文字列。ユーザーが入力したパスワードです。

YesNo

ユーザーは、[はい] か [いいえ] を選択できる

タイトルとプロンプト
[はい] と [いいえ] のボタン

1 (True、はい) または 0 (False、いいえ)

YesNoCancel

ユーザーは、[はい] か [いいえ] を選択するか、操作を取り消せる

タイトルとプロンプト
[はい]、[いいえ]、[キャンセル] のボタン

1 (True、はい)、0 (False、いいえ)、-1 (キャンセル)

構文

@Prompt( [ style ] : [NoSort] ; title ; prompt ; defaultChoice ; choiceList ; filetype )

パラメータ

[ style ]

キーワード。必須。表示するダイアログボックスの種類を示します。次のいずれかを指定します。

[ChooseDatabase]

[LocalBrowse]

[Ok]

[OkCancelCombo]

[OkCancelEdit]

[OkCancelEditCombo]

[OkCancelList]

[OkCancelListMult]

[Password]

[YesNo]

[YesNoCancel]

カッコ ([ ]) を含めます。これにより、スタイルパラメータをキーワードとして指定します。[NoSort] キーワードを指定しない場合は、スタイルパラメータの後ろにセミコロン (;) を記述します。

[NoSort]

キーワード。オプション。choiceList のメンバーが入力した順で表示されるようにする場合にこのキーワードを使用します。このキーワードを省略すると、choiceList のメンバーはアルファベット順にソートされます。

title

文字列。ダイアログボックスのタイトルバーに表示する文字列です。どのスタイル の場合も必ず指定します。ただし、"" で Null 文字列を指定することもできます。タイトルに含められる最大文字数は 65 です。[ChooseDatabase] キーワードでは Null 文字列を指定してください。それは、デフォルトのタイトル [データベースの選択] は置き換えられないからです。

プロンプト

文字列。ダイアログボックス内に表示する文字列です。LocalBrowse 以外のスタイル を指定した場合は必ず指定します。prompt に指定した式がリストを返す場合、リストの最初のアイテムだけがプロンプト として表示されます。リスト全体を表示するには @Implode を使用します。prompt にフィールド名を指定してフィールドの内容を表示することもできますが、指定するフィールドは文字列フィールドでなければなりません。数値フィールドや日時フィールドの場合は、その前に @Text 関数を付ける必要があります。prompt には @NewLine は使用できません。改行を挿入するには @Char(13) を使用します。表示するテキストに含められる最大文字数は 255 です。[ChooseDatabase] キーワードでは Null 文字列を指定してください。なぜなら、[データベースの選択] ダイアログボックスにはユーザー独自のテキストは表示できないからです。

defaultChoice

文字列。ユーザーの入力のデフォルト値として使用する値を指定します。ダイアログボックスの入力部分には、最初にこの値が表示されます。ユーザーは [OK] をクリックしてこの値を受け入れることも、値を変更することもできます。[Ok]、[YesNo]、[YesNoCancel]、[LocalBrowse]、[Password] スタイル のダイアログボックスには適用できません。これら以外のすべてのスタイル では必ず指定します。[OkCancelListMult] の場合は、複数のデフォルト値を文字列リスト "item1":"item2" として指定できます。

choiceList

文字列リスト。ダイアログボックスのリストボックスに表示する値です。ユーザーはこの値の中から 1 つを入力値として選択できます。値は、"PHONE.NSF":@MailDbName のようにコロンで区切ります。リスト内の各値は、文字列でも、文字列を返す @関数でも構いません。スタイル が [OkCancelList]、[OkCancelCombo]、[OkCancelEditCombo]、[OkCancelListMult] の場合にのみ必要です。

filetype

文字列。最初に表示するファイルの種類を指定する値です。「1」は NSF ファイルのみ、「2」は NTF ファイルのみ、「3」はすべての種類のファイルを意味します。 スタイルが [LocalBrowse] の場合にのみ必要です。

戻り値

choice

使用法

@Prompt は、フィールド式、ツールバーボタン式、手動エージェント式、フォームアクション式、ビューアクション式で使用します。この関数は、列式、選択式、メールエージェント式、スケジュール設定されたエージェント式では使用できません。また、ウィンドウタイトル式とフォーム式では使い方が制限されます。

title と prompt パラメータはスカラーです。リストを入力すると、最初の要素のみが表示されます。リストを文字列に変換する場合は、@Implode を使用します。

この関数は、Web アプリケーションでは使用できません。

  1. [Ok] を指定すると、情報メッセージが表示されます。ダイアログボックスを閉じるには [OK] をクリックします。ユーザーに何かを知らせ、ユーザーからの応答として確認以外は必要ない場合にこのスタイルを使用します。
    @Prompt([Ok];"Reminder";"Don't forget to run backup tonight.")
  2. 次の式では、複数値アイテムの内容が連結されて表示されます。
    @Prompt([Ok];"Value of mylist"; @Implode(mylist))
  3. [YesNo] を指定すると警告が表示され、ユーザーは操作を続行するか取り消すかを選択できます。ユーザーが [はい] を選択すると、操作の続行を示す数値 1 が返されます。ユーザーが [いいえ] を選択すると、数値 0 が返されます。
    @Prompt([YesNo]; "Send memo?"; "This memo will be sent to everyone listed in the To, CC, and BCC fields.")
  4. [YesNoCancel] を指定した場合も警告が表示され、ユーザーは [はい]、[いいえ]、[キャンセル] のいずれかを選択できます。ユーザーが [キャンセル] を選択すると、値 -1 を返します。
    result=@Prompt([YesNoCancel]; "Send memo?"; "This memo will be sent to everyone listed in the To, CC, and BCC fields" )
  5. [OkCancelEdit] を指定して、ユーザーの名前を入力するためのダイアログボックスを表示します。名前は文字列として返されます。最初にデフォルトで現在のユーザーの Notes ユーザー名が表示されますが、これは @UserName を使用して取得されます。ユーザーが [キャンセル] を選択すると、Notes/Domino は式の評価を取り消します。@Prompt([OkCancelEdit]) では、入力された文字列の最初の 254 文字だけが返されることに注意してください。
    @Prompt([OkCancelEdit]; "Enter Your Name"; "Type your name in the box below."; @UserName) 
  6. [OkCancelList] を指定して、データベース名をアルファベット順にリストボックスに表示します。ユーザーはデータベースを 1 つ選択できます。データベース名は文字列として返され、次の操作に使用されます。ユーザーが [キャンセル] を選択すると、Notes/Domino は式の評価を取り消します。

    リスト内の 3 つ目のオプションは、現在のユーザーのメールデータベースです。この名前は @MailDbName を使用して取得されます。ユーザーは一覧表示されたデータベースのオプションの中から 1 つを選択します。最初はデフォルトで Schedule がハイライト表示されています。デフォルトとして指定した値は、必ず表示リストにも含めます。

    @Prompt([OkCancelList]; "Select a Database"; "Select a database to open."; "Schedule"; "Schedule":"Phone Book":@Subset(@MailDbName;-1))
  7. [OkCancelCombo] を指定して、例 5 と同じようなダイアログボックスを表示します。ただし、この場合はドロップダウンリストを使用するため、最初はデフォルト値だけが表示されます。ボックスの下矢印をクリックするとリストの残りの部分が表示されます。例 5 と同様に、ユーザーはリストの値の中から 1 つ選択します。最初はデフォルトで Schedule が選択されています。この関数では、ユーザーが選択したデータベースが返されます。ユーザーが [キャンセル] を選択すると、Notes/Domino は式の評価を取り消します。
    @Prompt([OkCancelCombo]; "Select a Database"; "Select a database to open."; "Schedule"; "Schedule":"Phone Book":@Subset(@MailDbName;-1))
  8. [OkCancelEditCombo] は例 6 と似ていますが、この場合はユーザーがテキストボックスを編集して任意 のデータベース名を入力できます。そのため、ユーザーはリストにある選択肢以外の値も入力できます。この関数では、ユーザーが選択または入力したデータベースが返されます。ユーザーが [キャンセル] を選択すると、Notes/Domino は式の評価を取り消します。

    デフォルト値はリスト内に必ず含めます。そうしないと、テキストボックスが最初に表示されるときに空白になってしまいます。

    @Prompt([OkCancelEditCombo]; "Select a Database"; "Select a database to open, or type a database specification."; "Schedule"; "Schedule":"Phone Book": @Subset(@MailDbName;-1))
  9. [OkCancelListMult] を指定して、名前のリストを表示します。ユーザーはそのリストから名前を選択します。最初は Mary Tsen がデフォルト値として選択されています。この関数では、ユーザーが選択する名前が返されます。ユーザーが [キャンセル] を選択すると、Notes/Domino は式の評価を取り消します。

    デフォルト値はリストになければなりません。

    @Prompt([OkCancelListMult]; "Select a Name"; "Select one or more names as recipients for this request."; "Mary Tsen"; "Mary Tsen":"Bill Chu": "Michael Bowling":"Marian Woodward")
  10. [Password] を指定して、ユーザーがパスワードを入力するためのダイアログボックスを表示します。入力したパスワードは、画面には表示されません。この関数では、パスワードが返されます。
    @Prompt([Password]; "Password"; "Enter the password for Approach database.")
  11. [LocalBrowse] を指定して、ローカルファイルシステムから名前を参照して選択するためのコントロールを表示します。この例では、ユーザーがローカルブラウザで選択した Notes のデータベースファイルが開きます。1 を指定すると、初期表示は .nsf ファイルだけになります。
    file := @Prompt([LocalBrowse]; "Select a database to open"; "1");
    @If(file = ""; @Return(1); "");
    @Command([FileOpenDatabase]; "" :@Left(file; " "))
  12. 次のコードを使用すると、ホットスポットボタンのフォームで [データベースの選択] ダイアログボックスが表示されます。このダイアログボックスでは、計算結果に基づいて文書 (編集モードでなければなりません) のフィールド値を設定します。
    result := @Prompt([ChooseDatabase];"";"");
    FIELD Server := result[1];
    FIELD Filename := result[2];
    FIELD Title := result[3]

クロスリファレンス

LotusScript® 言語の InputBox 関数

LotusScript NotesUIDocument クラスの DialogBoxCanceled プロパティ

LotusScript NotesUIWorkspace クラスの Prompt メソッド