DDExec

式エディタ > 関数ディレクトリ

 

DDEサーバに対するコマンド文字列の転送

Magic から、この関数のパラメータで指定されたDDE サーバへ、コマンド文字列を転送します。3つの識別子「サービス」、「トピック」、「項目」を組み合わせて、各DDEサーバアプリケーションにアクセスできます。この3つの識別子によってアクセス対象を特定できます。

Magic によって転送されたコマンド文字列はサーバアプリケーションに転送され、サーバアプリケーションがそのコマンドを実行します。コマンド文字列は、DDE フォーマットについての厳しい規則に従う必要があります。コマンドの内容は、サーバアプリケーションのコマンドに対して有効でなければなりません。コマンドの文字列がサーバアプリケーションに無効な場合には、コマンドは失敗します。

構文:

DDExec (サービス,トピック,項目,コマンド)

パラメータ:

サービス …DDE サーバがサポートするサービス名です。通常、このパラメータには、WinWord (MS Word for Windows )やExcel (Microsoft Excel)などのアプリケーション名を指定します。

 

トピック …System トピックによって表されるサーバアプリケーションが、サーバアプリケーション内にあるデータオブジェクトではなくデータ交換に対して責任がある場合には、「トピック」には通常、'System'を指定します。

 

項目 …データ項目をさらに詳しく定義します。DDExec 関数の場合は、通常はNULL値を指定します。

 

コマンド …サーバアプリケーションに渡されるコマンド文字列を指定します(サーバアプリケーションはこのコマンドを実行します)。DDE コマンドは角括弧([])で囲みます。

1 個のコマンド文字列には、それぞれを角括弧で囲んだ、または空白で区切った複数のコマンドが含まれます。以下に、例を示します。

 

[コマンド1]
[コマンド2 (パラメータ1 )]
[コマンド3 (パラメータ1 ,パラメータ2 ,パラメータ3 )]
[コマンド1][コマンド3 (パラメータ1 ,パラメータ2 ,パラメータ3 )]

 

コマンド文字列は、有効なサーバアプリケーションのコマンドでなければなりません。コマンドの構文についての詳細は、サーバアプリケーションのマニュアルを参照してください。

戻り値:

論理値… 処理に成功した場合「True」が返ります。

例:

DDExec('WinWord','System','','[FileOpen"c:\docs\ddetest.doc"]')

 

Microsoft Wordのドキュメントファイルをオープンします。'[FileOpen"c:\docs\ddetest.doc"]'は関数によってサーバアプリケーションに転送されるコマンドです。

 

DDExec('Excel','System','',[run("MACROS.XLM!FormatCells")]')

 

Microsoft Excelマクロ(FormatCells )を実行します。

 

DDExec('Excel','System','',[Open("c:\docs\test.xls")]')

 

Microsoft Excelのスプレッドシートをオープンします。例に示したように、Magicには、項目を文字列と識別させるための単引用符(')が必要です。コマンドのパラメータには、二重引用符(")が必要です。

関連項目:

DDEBegin, DDEEnd, DDERR, DDEGet, DDEPoke