首页 > 解决方案 > 如果选中 Microsoft Outlook 16.0 对象库引用,则功能区回调函数不起作用

问题描述

我的 Access 开发系统在下面,我自定义了带有回调功能的功能区。

Windows 7 家庭高级版、Office 2016 Professional Plus 32 位、SQL Server 2014 Express

我将 ACCDB 编译为 ACCDE。在我安装 Access rum time 2016 时,在其他未安装 Office 的 Windows 10 计算机上运行 ACCDE。ACCDE 程序在所有 Windows 10 计算机上运行顺畅,包括功能区回调功能。

最近,我在我的程序中添加了电子邮件功能。我在我的 ACCDB 上添加 Microsoft Outlook 16.0 对象引用并编译为 ACCDE。ACCDB 和 ACCDE 在我正在开发的计算机上的电子邮件和功能区回调功能上都可以正常工作。但是,在其他未安装 Office 的 Windows 10 计算机上,所有功能区回调功能都不再起作用。错误信息如下。

在此处输入图像描述

我删除了 Microsoft Outlook 16.0 对象引用。重新编译它。它再次适用于所有功能区回调函数。

标签: ms-access

解决方案


虽然使用早期绑定更容易开发(通过设置对相关对象库的引用)以便您可以使用 Intellisense 和对象模型,但您应该始终使用后期绑定进行部署:

  • 移除对对象库的引用;
  • 声明As Object而不是As Outlook.Application
  • 将任何常量替换为等效的数值,或者使用您自己的常量 ( Global Const OL_MAIL_ITEM = 0)。

此外,如果您的应用程序正在使用 Outlook,而目标计算机没有安装它,那么使用 Outlook 的应用程序部分将无法工作。

问候,


推荐阅读