可以使用 DDE 函数来启动与另一个应用程序的动态数据交换 (DDE) 对话,从该应用程序中请求某一信息,以及在窗体或报表上的控件中显示该信息。
例如,可以在文本框的“控件来源”属性中使用 DDE 函数来显示 Microsoft Excel 电子表格中指定单元格的数据。
DDE(application, topic, item)
DDE 函数具有以下参数:
参数 |
说明 |
application |
字符串表达式,用于标识能参与 DDE 对话的应用程序。通常,application 是一个基于 Microsoft Windows 应用程序(如 Microsoft Excel)的 .exe 文件名(不带 .exe 扩展名)。例如,要启动一个与 Microsoft Excel 之间的 DDE 对话,应键入 "Excel" 作为 application 参数。 |
topic |
字符串表达式,它是由 application 识别的主题名称。该 topic 参数通常是文档或数据文件。请参考另一应用程序的文档以获得可用主题的列表。 |
item |
字符串表达式,它是由 application 识别的数据项名称。请参考另一应用程序的文档以获得可用项目的列表。 |
DDE 函数用指定的 application 和 topic 来启动 DDE 对话,并请求 item 中的数据。如果成功,DDE 函数将返回包含请求信息的字符串。
如果要请求从 Microsoft Excel 中获取数据,item 必须是行与列的标识符,如 "R1C1" 或一个单元格区域的名称。在下面的示例中,该 DDE 函数请求从 Microsoft Excel 工作表中第 1 行、第 1 列的单元格中获取信息。在控件的属性表中,可以在“控件来源”属性框中为文本框控件输入下面的表达式。
=DDE("Excel", "Sheet1", "R1C1")
只能在文本框、选项组、复选框或组合框中的“控件来源”属性中使用 DDE 函数。不能从 Visual Basic 中调用 DDE 函数。
使用 DDE 函数时,在“窗体”视图和“打印预览”中,控件为只读。例如,如果在文本框中使用 DDE 函数,则不能编辑文本框中的文本。用户必须在另一应用程序中编辑文本。因为“控件来源”属性在“窗体”视图和“打印预览”中是只读的,对控件的更改必须在“设计”视图中进行。
Microsoft Windows 和计算机的内存及资源决定了可以同时打开的 DDE 对话的最大数目。如果对话因为另一应用程序不在运行或不能识别指定主题而不能被启动,或已经达到最大的对话数目,DDE 函数则会返回 Null。
注释 可以配置另一个应用程序忽略对 DDE 对话的请求。在这种情况下,DDE 函数将返回一个 Null 值。同样,也可以设置 Microsoft Access 忽略来自另一应用程序的请求:单击“工具”菜单上的“选项”,然后在“选项”对话框中“高级”选项卡上“DDE 操作”的下面,单击“忽略 DDE 请求”。
下表说明了对每对控件使用 DDE 函数时函数的行为。
控件 |
说明 |
文本框 |
item 参数能引用文本或数字。如果 item 引用多条信息(如 Microsoft Excel 工作表中包含多个单元格的命名区域),则 DDE 函数返回第一项。对文本框使用这个函数可以显示工作表上的单元格中包含的数据。 |
组合框 |
DDE 函数将 item 引用的信息填入组合框。不能在组合框的文本部分输入数据。将 DDE 函数用于组合框可以显示 Microsoft Excel 工作表中的区域或国家的列表。 |
选项组 |
选项组中每个选项按钮的“选项值”属性都设为一个数字。通常,第一个按钮的值为 1,第二个为 2,依次类推。DDE 函数所返回的数字将确定哪个选项按钮被选定。 例如,如果 DDE 函数返回 2,则第二个按钮将被选定。如果该函数的返回值与“选项值”属性的任何设置都不匹配,则没有任何按钮被选定。如果 item 引用多条信息,如在 Microsoft Excel 工作表中包含多个单元格的命名区域,DDE 函数将返回第一项。 |
复选框 |
如果 DDE 函数返回 0,复选框将被清除。如果该函数返回非零值,如 1 或 -1,则复选框将被选中。如果 item 引用的是文本或多条信息,如 Microsoft Excel 工作表中包含多个单元格的命名区域,复选框将不可用。 |