Access VBA教程:DDESend函数

使用 DDESend函数可以启动与另一个应用程序的动态数据交换 (DDE)对话,并从窗体或报表上的控件中向那个应用程序发送一条信息项。

例如,可以在文本框的ControlSource属性中使用 DDESend函数,以将那个文本框中显示的数据发送到 Microsoft Excel 电子表格中指定的单元格。

DDESend(application, topic, item, data)

DDESend函数具有以下参数:

参数 说明
application 字符串表达式,用于标识能参与 DDE对话的应用程序。通常,application 是一个基于 Microsoft Windows 应用程序的 .exe 文件名(不带 .exe 扩展名),如 Microsoft Excel。例如,要启动一个与 Microsoft Excel 之间的 DDE对话,对于 application参数,应键入 "Excel"。
topic 字符串表达式,它是 application参数可识别的主题名称。topic参数通常是文档或数据文件。请参考另一应用程序的文档,以获得可用主题的列表。
item 字符串表达式,它是由 application 识别的数据项的名称。请参考另一应用程序的文档,以获得可用项的列表。
data 字符串或表达式,包含要发送到 application参数中的数据。

说明

DDESend函数用指定的 application 和 topic 来启动 DDE对话,并将 item 标识为将接收 data 的数据项。例如,如果 application 是 Microsoft Excel,则 topic 可能是"Sheet1",并且 item 可能是行与列标识符,如"R1C1",也可能是单元格范围的名称。

data参数指定将要发送的信息。它可以是原意字符串,如"Report prepared by John",也可以是一个包含可生成字符串(如"Prepared on " & Date())的函数结果的表达式。如果 item 引用了多条信息,如 Microsoft Excel 工作表中包含多个单元格的命名区域,则 DDESend函数将 data 发送到第一项。

在下面的示例中,DDESend函数将字符串"Some text" 发送到 Microsoft Excel 工作表中第一行第一列的单元格。在控件的属性表上,可以在“控件来源”属性框中为文本框控件输入如下的表达式:


=DDESend("Excel", "Sheet1", "R1C1", "Some text")

假定要将数据从 Microsoft Access 窗体上的绑定控件中发送到 Microsoft Excel 电子表格的单元格中。绑定控件的 ControlSource属性已经设为一个字段名称或表达式。可以创建另一个文本框或组合框,将其 ControlSource属性设为包含 DDESend函数的表达式,其中 data 是绑定控件的名称。例如,如果有一个名为 LastName 的绑定文本框,则可以创建另一个文本框并将其 ControlSource属性设置如下:


=DDESend("Excel", "Sheet1", "R1C1", [LastName])

这个中间控件必须是文本框或组合框。不能将绑定控件的名称用作复选框或选项组的 data参数。

只能在窗体上文本框、选项组、复选框或组合框的 ControlSource属性设置中使用 DDESend函数。不能从 Visual Basic 中调用 DDESend函数。

在使用 DDESend函数时,控件在“窗体”视图和“打印预览”中只读。因为 ControlSource属性在“窗体”视图和“打印预览”中也是只读的,因此对控件的更改只能在“设计”视图中进行。

可以同时打开的 DDE对话的最大数目由 Microsoft Windows 以及计算机的内存与系统资源决定。如果对话因为 application 不能执行或不能识别 topic 而无法被初始化,或者已经达到最大的对话数目,DDE函数则会返回Null。

注意   可以将另一应用程序配置为忽略对 DDE对话的请求。如果这样,DDESend函数将返回一个 Null 值。同样,也可以将 Microsoft Access 设置为忽略来自另一应用程序的请求:单击“工具”菜单上的“选项”,然后在“选项”对话框中的“高级”选项卡上“DDE 操作”下,选择“忽略 DDE 请求”。

提示   如果需要在 Microsoft Access 中处理另一应用程序的对象,可以考虑使用“自动化”

下表说明了对每种控件使用 DDESend函数时,函数的行为:

控件 说明
文本框或组合框 因为文本框或组合框在“窗体”视图和“打印预览”中显示为空白,所以可将其Visible属性设为 False。

Data参数可以引用另一个控件。下面的示例显示如何将名为“姓氏”控件的内容发送到 Microsoft Excel 工作表中:


=DDESend("Excel", "Sheet1", "R1C1", [LastName])
选项组 在“窗体”视图和“打印预览”中选项组中的选项按钮无一被选定。可将其 Visible属性设为 False,使选项组(及其按钮)不可见。

data参数必须包含数字数据,如"2"。如果 data参数不是数字的,DDESend函数将不能发送信息,并且 item 不会改变。

复选框 复选框在“窗体”视图和“打印预览”中将显示为阴影。可以通过将其 Visible属性设为 False 使其不可见。

data参数必须包含数字数据,如"2"。如果 data参数不是数字的,DDESend函数将不能发送信息,并且 item 不会改变。


上页:Access VBA教程:DDERequest函数 下页:Access VBA教程:DFirst、DLast函数

Access VBA教程:DDESend函数

Access VBA教程:DFirst、DLast函数 Access VBA教程:不同字符串值的不同格式(Format函数)
Access VBA教程:DLookup函数 Access VBA教程:DMin、DMax函数
Access VBA教程:DStDev、DStDevP函数 Access VBA教程:DSum函数
Access VBA教程:DVar、DVarP函数 Access VBA教程:EuroConvert函数
Access VBA教程:Eval函数 Access VBA教程:GUIDFromString函数
Access VBA教程:LoadPicture方法 Access VBA教程:Nz函数
Access VBA教程:StringFromGUID函数 Access VBA教程:隐藏的语言元素
Access VBA教程:在子窗体或子报表中调用过程 Access VBA教程:将 DAO 代码转换为 ADO
Access VBA教程:将 Microsoft Access 用作 DDE 服务器 Access VBA教程:错误捕获
Access VBA教程:在域聚合函数中计算字段 Access VBA教程:在 SQL 语句中使用国际日期格式
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号