DDEGet

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

 

DDEサーバから文字列を取得

指定したDDEサービスから文字列を取得します。取り出す文字列のサイズも指定できます。文字列の取り出し元は、[サービス]、[トピック]、[項目]の3 つのパラメータを使用して指定します。この3 つのパラメータで、取り出す文字列の場所を特定できます。

構文:

DDEGet(サービス,トピック,項目,文字列長)

パラメータ:

サービス …DDE サービスの主な識別子です。通常は、WinWord (Microsoft Word)、Excel (Microsoft Excel)など、アプリケーションの名前を指定します。

 

トピック …データの取り出し元となる場所で、[サービス]パラメータで指定したサーバアプリケーションの中の領域です。WinWord やExcelの場合、トピックとしてはファイル名を指定できます。

DDE サーバアプリケーションとして、標準で、System トピックが用意されており、このSystem トピックにより、アプリケーションやトピックに関する情報が提供されます。この情報により、アプリケーションやトピックに対してDDE アクセスが可能になります。

また、システムトピックの中には各種項目([項目]パラメータで指定)があり、この項目を介して要求を実行できます。例えば、Microsoft ExcelのSystem トピックには、アプリケーションがサポートするSystem トピックのリストを返す「System」があります。これを利用して
DDEGet('Excel','System','SysItems',2000)というDDEGet 関数を発行すると、Microsoft ExcelのSystem トピックで使用できる項目名を取得できます。System トピックによって返される情報のフォーマットはサーバアプリケーションによって異なります。

 

項目 …このパラメータを使用して、サーバアプリケーションの中のデータ取り出し元をさらに厳密に指定します。つまり、サービス、トピック、項目の3 つのパラメータにより、取り出すデータを特定できます。

例えば、Microsoft Word のファイル中の特定の段落を取り出したい場合、サーバアプリケーションとしてWinWord 、トピックとして、その段落が置かれているファイル名、項目として、その段落を指すブックマークを指定します。

 

文字列長 …このパラメータには、取り出すデータの最大サイズを指定します。取り出されたデータが、このサイズより小さい時には、残りの部分は空白(スペース)で埋められます。

戻り値:

文字列… [文字列長]パラメータで指定したサイズの文字列が返ります。処理に失敗した時には、空白の文字列が返ります。返る文字列は、[サービス]、[トピック]、[項目]の3 つのパラメータで指定されたデータです。

例:

DDEGet('WinWord', 'c:\docs\ddetest.doc', 'toMagic',2000)

 

Microsoft Wordのドキュメンからブックマークが設定された特定の項目を読み込みます。'c:\docs\ddetest.doc'はドキュメントファイル名、'toMagic'はブックマーク名、そして、2000 は、関数によって返されるパラグラフの最大長(バイト単位)です。

 

DDEGet('Excel','c:\docs\budget.xls','R19C1:R22C7', 2000)

 

Microsoft Excelのスプレッドシートから、一定の範囲のセルを読み込みます。'c:\docs\budget.xls'はスプレッドシートのファイル名、'R19C1:R22C7'はセルの範囲、2000 は関数によって返されるデータの最大長(バイト単位)です。

この例では、各セル内のデータの間にタブコード(X'09')が入ります。例に示したように、Magic には、項目を文字列と識別させるための単引用符(')が必要です。取り出されるデータは、最大で2000 バイトです。

関連項目:

DDEBegin, DDEEnd, DDEPoke, DDERR,DDExec