文書内のフィールドに値を割り当てます (一時変数に割り当てる場合は @Set を使用します)。これは FIELD キーワードと似ていますが、@SetField の場合は別の @関数に埋め込むことができます。フィールドが存在しない場合はフィールドが作成され、指定した値が設定されます。
@SetField( fieldName ; value )
fieldName
値を割り当てるフィールドの名前を引用符で囲んで指定します。
value
文字列、数値、日時、日時の範囲、または日時の範囲のリスト。fieldName に渡す値を指定します。
この関数は、エージェント、ホットスポットボタン、アクション、ツールバーボタンで使用すると最も効果的です。列式、選択式、非表示切り替え式、ウィンドウタイトル式、フォーム式では使用できません。
Release 6 では、@SetField で値を割り当てる前にフィールドを宣言する必要がなくなりました。R5 以前のクライアントでは、次のように式の先頭でフィールドを宣言します。
FIELD Fieldname:=Fieldname;
指定したフィールドが文書に存在しない場合に @SetField によって作成され、指定した値が割り当てられるフィールドは、ユーザーには表示されません。このようにしてフォームに追加されたフィールドを削除するには、@DeleteField 関数を使用します。
指定する値はどのようなものでもよく、フォーム上で定義されたフィールドの種類と一致している必要はありません。この関数によって、既存のフィールド上のフラグがリセットされたり、新しく保存されたフィールドにフラグが設定されたりすることはありません。例えば、文字列の値を割り当てることによって、[Readers] フィールドがプレーンテキストになることはありません。また、新しく保存したフィールドを [Readers] フィールドにすることはできません。LotusScript® と Java™ のクラスでは、NotesItem と Item を使用してこの操作を行うことができます。
FIELD Status:=Status;
@If(Priority="Low"|Priority="Medium";@SetField("Status";"Closed");
@SetField("Status";"Open"))
@For(i := 1; i <= 20; i := i + 1;
@SetField("x_" + @Text(i);@DeleteField));
@SetField("name"; "Joseph" : "Riley")
LotusScript NotesUIDocument クラスの FieldSetText メソッド
LotusScript NotesDocument クラスの ReplaceItemValue メソッド
Java Document クラスの replaceItemValue メソッド