适用于非特定版本的excel vba代码的正确后期绑定

时间:2017-11-13 22:08:11

标签: excel vba excel-vba outlook-vba late-binding

我有一个Excel电子表格,我的VBA代码从中提取以在共享日历上创建Outlook约会。它将由多个项目经理操纵(当然不是在同一时间)。我遇到的问题是有多个用户,我发现有一些人正在使用旧版本的Office,因此我了解到我应该使用"后期绑定"我想让它与旧版本更兼容。

我似乎无法找到有关如何将我所拥有的内容转换为后期绑定的任何重要信息,并且我必须创建此代码的所有示例都是早期绑定。我可以获得转换方面的帮助吗?我还有其他两个模块,我也必须转换,但它们将是相同的行。

tbl_activity

1 个答案:

答案 0 :(得分:0)

删除对Outlook库的任何VBA项目引用。

声明任何Outlook对象As Object,而不是使用Outlook库类型名称。使用CreateObject()代替New

例如:

Dim oAPT As Outlook.AppointmentItem
Dim o As Outlook.Application
Set o = New Outlook.Application

将是

Dim oAPT As Object
Dim o As Object
Set o = CreateObject("Outlook.Application")

任何Outlook派生的常量(例如olAppointmentItem)应该在代码中声明为常量,或者用它们的数值替换(可以使用对象浏览器找到)