DDE 函数
应用对象
可以使用 DDE 函数启动动态数据交换 (DDE) 与另一个应用程序的对话、从该应用程序请求信息项,并在窗体或报表上的控件中显示该信息。
例如,可以使用文本框的 ControlSource 属性中的 DDE 函数来显示 Excel 工作表中指定单元格中的数据。
语法
DDE (应用程序、主题、项)
DDE 函数语法具有以下参数:
| 一个 rgument | 说明 |
|---|---|
| 应用 | 标识可以参与 DDE 对话的应用程序的字符串表达式。 通常, 应用程序 是Microsoft基于 Windows 的应用程序(如 Excel)没有 .exe 扩展名) (.exe 文件的名称。 例如,若要使用 Excel 启动 DDE 对话,请键入 “Excel” 作为 应用程序 参数。 |
| 主题 | 一个字符串表达式,它是 应用程序识别的主题的名称。 topic 参数通常是文档或数据文件。 查看其他应用程序的文档,了解可能的主题列表。 |
| 项目 | 一个字符串表达式,它是 应用程序识别的数据项的名称。 查看其他应用程序的文档,了解可能的项列表。 |
备注
DDE 函数尝试启动与指定应用程序和主题的 DDE 对话,并请求项目中的数据。 如果成功, DDE 函数将返回一个包含所请求信息的字符串。
如果从 Excel 请求数据, 项目 可能是行和列标识符,例如 "R1C1" 或单元格区域的名称。 在以下示例中, DDE 函数从 Excel 工作表中第 1 行第 1 列的单元格请求信息。 可以在控件的属性表上的 ControlSource 属性框中输入文本框控件的此表达式:
=DDE("Excel", "Sheet1", "R1C1")
只能在文本框、选项组、检查框或组合框的 ControlSource 属性中使用 DDE 函数。 不能从Visual Basic for Applications (VBA) 模块调用 DDE 函数。
使用 DDE 函数时,控件在窗体视图和打印预览中变为只读。 例如,如果在文本框中使用 DDE 函数,则无法编辑文本框中的文本。 必须在其他应用程序中编辑文本。 由于 ControlSource 属性在窗体视图和打印预览中是只读的,因此必须在设计视图中对控件进行更改。
Microsoft Windows 和计算机的内存和资源决定了可以同时打开的最大 DDE 对话数。 如果由于其他应用程序未运行或无法识别指定主题而无法启动会话,或者如果已达到最大会话数, 则 DDE 函数将返回 Null。
注意
另一个应用程序可能配置为忽略你的 DDE 对话请求。 如果是这样, 则 DDE 函数返回 Null。 同样,可以将 Access 设置为忽略来自其他应用程序的请求:单击“文件”菜单上的“访问选项”,然后在“应用程序设置”对话框中单击“高级”。 在 “DDE 操作”下,选择“ 忽略 DDE 请求”。
提示
如果需要从 Access 操作其他应用程序的对象,可能需要考虑使用自动化。
下表说明了 将 DDE 函数用于每个控件时的行为方式。
| Con trol | 备注 |
|---|---|
| 文本框 | item 参数可以引用文本或数字。 如果 item 引用了多个信息,例如 Excel 工作表中包含多个单元格的命名区域, 则 DDE 函数将返回第一个条目。 可以将此函数与文本框一起使用,以显示工作表上单元格中包含的数据。 |
| 组合框 | DDE 函数使用项目引用的信息填充组合框。 不能在框的文本部分输入数据。 可以将 DDE 函数与组合框一起使用,以显示在 Excel 工作表中维护的国家/地区列表。 |
| 选项组 | 选项组中每个选项按钮的 OptionValue 属性设置为数字。 通常,第一个按钮值为 1,第二个按钮值为 2,依此依此。
DDE 函数返回的数字确定将选择哪个选项按钮。 例如,如果 DDE 函数返回 2,则会选择第二个按钮。 如果此函数返回的值与任何 OptionValue 属性设置都不匹配,则不会选择任何按钮。 如果 item 引用了多个信息,例如 Excel 工作表中包含多个单元格的命名区域, 则 DDE 函数将返回第一个条目。 |
| 复选框 | 如果 DDE 函数返回 0,则将清除检查框。 如果此函数返回非零数(如 1 或 –1),则将选择该框。 如果项目引用文本或多条信息,例如包含多个单元格的 Excel 工作表中的命名区域,则“检查”框将不可用。 |