ms-access - 如果选中 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 对象引用。重新编译它。它再次适用于所有功能区回调函数。
解决方案
虽然使用早期绑定更容易开发(通过设置对相关对象库的引用)以便您可以使用 Intellisense 和对象模型,但您应该始终使用后期绑定进行部署:
- 移除对对象库的引用;
- 声明
As Object
而不是As Outlook.Application
; - 将任何常量替换为等效的数值,或者使用您自己的常量 (
Global Const OL_MAIL_ITEM = 0
)。
此外,如果您的应用程序正在使用 Outlook,而目标计算机没有安装它,那么使用 Outlook 的应用程序部分将无法工作。
问候,
推荐阅读
- r - 在同一个变异函数 dplyr 中使用滞后结果
- r - 对组进行循环并将循环结果存储在 R 中的表中
- javascript - 如何使用 jwt 在 typescript 中实现更改密码 API?
- javascript - 我在一个组件中做了 localstorage.setItem(),我想在第二个组件中做 localstorage.getItem()
- css - MacOS 在全屏浏览器中的 VH 更改
- python - TypeError:'map' 对象在 python 3.8 中不可下标
- python - 如何使用 python 将 5 分钟时间序列转换为 15 分钟时间序列
- java - “DynamoDbException:请求了未知操作。” 使用 LocalStack docker 容器时的问题,Java testcontainers
- flutter - 使用 builder 并在 Flutter 的 ChangeNotifierProvider 中创建两者
- java - 从 OIC 管理安全证书获取证书的 REST API 是什么?