式言語


@コマンドを処理する
@コマンドは、ユーザーインターフェースで直接アクションを実行する特殊な @関数です。@コマンドのほとんどは、メニューコマンドと同じ操作をします。たとえば、次の式をボタンから実行すると、文書が編集モードになり、挿入点が 2 行下に移動します。

@Command([EditDocument]; "1");
@Command([EditDown]; "2")

@コマンドの構文は次のいずれかです。

@Command([command-name]; arg1; arg2; ... argn)

@PostedCommand([command-name]; arg1; arg2; ... argn)

@関数の名前は @Command@PostedCommand です。最初の引数は、@コマンドの名前をブラケットで囲んだものです。残りの引数は @コマンドに対する引数です。

使用可能なコマンドのリストについては、@コマンドを参照してください。

@コマンドは、ツールバーボタン、目標文書を指定しないエージェント、イベント、ボタンホットスポット、およびアクションホットスポットの各式で使えます。@コマンドは、ユーザーとの対話のない式では使えません。つまり、複製、フォーム、選択、列、非表示アクション、ウィンドウタイトル、セクションタイトル、セクションアクセス、サブフォームの挿入、非表示パラグラフ、デフォルト値、入力変換、入力確認、計算結果、およびキーワードフィールドの各式、および目標文書を指定しないものを除くエージェントでは使えません。

ほとんどの @コマンドは、Web アプリケーションでは使えません。これは、@コマンドが Lotus Notes Client のユーザーインターフェースに基づいているためです。約 30 の @コマンドがサポートされていますが、一部は動作が異なります。「式言語」の「Web アプリケーション用に Lotus Domino をプログラミングする」を参照してください。

@コマンドは LotusScript では使えません。

@Command 関数は、一部の例外を除き、他の @関数と同じ順番で実行されます。たとえば、次の式ではまず @コマンドが実行されます。

@Command([EditDocument]; "1");
@Prompt([Ok]; "Edit mode"; "The document is now in Edit mode.")

@PostedCommand 関数は、他の @関数がすべて実行された後、それぞれ順番に実行されます。これは、Lotus Notes R3 の @Command をエミュレートしたものです。たとえば、次の式では @コマンドは最後に実行されます。

@PostedCommand([EditDocument]; "1");
@Prompt([Ok]; "Edit mode"; "The document will go into Edit mode.")

@Command の戻り値を調べて応答できます (@PostedCommand ではできません)。戻り値は、@コマンドが成功した場合は @True、失敗した場合は @False です。次のツールバーボタン式の例は、@コマンド FileOpenDatabase が失敗すると戻り値を返します。

@If(@Command([FileOpenDatabase]; "NEWSUBJ"); ""; @Return(""));
@Command([Compose]; ""; "Main Topic");
@Command([EditGotoField]; "Subject");
@Command([EditInsertText]; "New subject");
@Command([EditGotoField]; "Body")

関連項目