使用 VBA 激活打开的 MS Access 文件以发送密钥

Posted

技术标签:

【中文标题】使用 VBA 激活打开的 MS Access 文件以发送密钥【英文标题】:Activate an Open MS Access File to SendKeys With VBA 【发布时间】:2019-02-12 17:41:18 【问题描述】:

我正在尝试将击键发送到打开的 Microsoft Acess 文件,以便我可以通过工具栏将数据导出到 Excel 文件。如何在 VBA 代码中激活打开的 Access 文件,使其成为焦点窗口?

【问题讨论】:

【参考方案1】:

您可以使用AppActivate 和窗口标题来激活打开的 Access 应用程序。

但是,窗口的标题取决于当前打开的内容:

如果没有数据库打开:

AppActivate GetObject(, "Access.Application").Name 'Or AppActivate "Microsoft Access"

如果打开的数据库没有自定义标题:

AppActivate GetObject(, "Access.Application").CurrentDb.Name 'Or AppActivate "FileName.accdb"

如果打开的数据库具有自定义标题:

AppActivate GetObject(, "Access.Application").CurrentDb.Properties!AppTitle 'Or AppActivate "The title"

请注意,在我看来,使用 SendKeys 自动访问是做错了。 Access 具有与 Excel 类似的对象模型,您可以使用 COM 非常轻松地将两者联系起来。它通常比使用 SendKeys 更可靠,

【讨论】:

以上是关于使用 VBA 激活打开的 MS Access 文件以发送密钥的主要内容,如果未能解决你的问题,请参考以下文章

VBA 列出 MS Access 中所有打开的对象

通过 VBA 自动使用查询从 Ms Access 2007 生成报告

关闭使用附加查询打开的 MS Access laccdb 文件

MS Access VBA从Web浏览器控件的内容中获取数据

使用 VBA 的 MS Access 打印报告

使用 VBA 从 MS Access 表创建格式化文本文件