式言語
Conv_ID := @DDEInitiate("123W";"Budget95.wk3"); @If (@IsError(Conv_ID); @Do(@Prompt([Ok];"Error"; "Unable to initiate conversation");@Return("")); @Do(@DDEPoke(Conv_ID;"A:B6"@Text(Amount)); @DDEExecute(Conv_ID;"[RUN(\"{Goto}A:B6~\")]"); @DDEExecute(Conv_ID;"[RUN(\"/rfc~~\")]"); @DDEExecute(Conv_ID;"[RUN(\"{Goto}A:B10~{EditュCopy}\")]"); @DDETerminate(Conv_ID); @Command([EditNextField]); @Command([EditPaste])))
次に 1 行ずつ説明します。
Conv_ID := @DDEInitiate("123W";"Budget95.wk3");
Lotus Domino と 1-2-3 の間の接続を開始します。このステートメントでは、使用するワークシート (BUDGET95.WK3) を指定し、接続 ID を変数 Conv_ID に保存します。指定したファイルは、@DDEInitiate を実行する前に必ず開いておきます。
@If (@IsError(Conv_ID); @Do(@Prompt([Ok];"Error"; "Unable to initiate conversation"); @Return(""));
DDE 接続が正常に開始されたかどうかを判断します。正常に開始された場合は式が続行し、それ以外の場合はメッセージが表示され、式の実行は停止します。
@Do(@DDEPoke(Conv_ID;"A:B6";@Text(Amount));
[Amount] という数値型フィールドの内容を文字列に変換し、その値を 1-2-3 ワークシートのセル A:B6 に渡します。DDEPoke を経由して渡せるのは文字列だけなので、値は必ず文字列に変換します。
@DDEExecute(Conv_ID;"[RUN(\"{Goto}A:B6~\")]");
セル A:B6 をワークシート内のカレントの位置にします。
@DDEExecute(Conv_ID;"[RUN(\"/rfc~~\")]");
[範囲(R) 表示形式(F) 通貨] コマンドを 1-2-3 に渡します。セル A:B6 は通貨形式になります。
@DDEExecute(Conv_ID;"[RUN(\"{Goto}A:B10~{EditュCopy}\")]");
[ジャンプ] コマンドと [編集] - [コピー] コマンドを 1-2-3 に渡します。カーソルはワークシート内のセル A:B10 に移動し、そのセルに保存されている値が Windows のクリップボードにコピーされます。
@DDETerminate(Conv_ID);
DDE 接続を終了します。
@Command([EditNextField]);
現在の Lotus Domino 文書内の次のフィールドに移動します。
@Command([EditPaste])))
クリップボードの内容 (セル A:B10 からの値) をそのフィールドに貼り付けます。
関連項目