DDERequest 方法

       

通过打开的 DDE(动态数据交换)通道向接收应用程序查询信息,并以字符串方式返回该信息。

expression.DDERequest(Channel, Item)

expression   可选。该表达式返回一个 Application 对象。

Channel   Long 类型,必需。由 DDEInitiate 方法返回的通道序号。

Item   String 类型,必需。需要进行查询的项。

说明

查询服务器应用程序的主题信息时,必须指定包含所需内容的主题中的项目。例如,在 Microsoft Excel 中,单元格是合法项目,所以可通过“R1C1”格式或已命名的引用来引用单元格。

Microsoft Excel 和其他支持 DDE 的应用程序可识别名为“System”的主题。下表对 System 主题中的三个标准项目加以说明。请注意:使用 SysItems 项目可得到 System 主题中的其他项目列表。

System 主题中的项目 效果
SysItems 返回 System 主题中的所有项目的列表。
Topics 返回所有有效主题的列表。
Formats 返回 Word 支持的所有剪贴板格式的列表。

示例

本示例打开 Microsoft Excel 工作簿 Book1.xls,然后检索单元格 R1C1 的内容。

Dim lngChannel As Long

lngChannel = DDEInitiate(App:="Excel", Topic:="System")
DDEExecute Channel:=lngChannel, Command:="[OPEN(" & Chr(34) _
    & "C:\Documents\Book1.xls" & Chr(34) & ")]"
DDETerminate Channel:=lngChannel
lngChannel = DDEInitiate(App:="Excel", Topic:="Book1.xls")
MsgBox DDERequest(Channel:=lngChannel, Item:="R1C1")
DDETerminateAll

本示例打开通向 Microsoft Excel 的 System 主题的通道,然后用 Topics 项返回有效主题列表。本示例将该主题列表插在选定部分的后面(该列表包括所有打开的工作簿)。

Dim lngChannel As Long
Dim strTopicList As String

lngChannel = DDEInitiate(App:="Excel", Topic:="System")
strTopicList = DDERequest(Channel:=lngChannel, Item:="Topics")
Selection.InsertAfter strTopicList
DDETerminate Channel:=lngChannel