@コマンドを処理する

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

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

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

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

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

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

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

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

@コマンドは LotusScript® では使用できません。

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

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

@PostedCommand 関数は、他の @関数がすべて実行された後、それぞれ順番に実行されます。これは、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")