我可以在myOlApp使用早期绑定的“类模块”中使用以下内容订阅Outlook事件。
'**Class Module - clsOutlookHandler **
Public WithEvents myOlApp As Outlook.Application
Private Sub Class_Initialize()
On Error Resume Next
Set myOlApp = GetObject(, "Outlook.Application")
If Err.Number = 429 Then
Set myOlApp = CreateObject("Outlook.Application")
Err.Clear
End If
On Error GoTo 0
End Sub
为此,我需要确保检查Microsoft Outlook XX.X对象库的引用。
是否可以使用后期绑定订阅Outlook(或任何应用程序)事件?
我知道以下内容不起作用。 VBA中有解决方法吗?
Public WithEvents myOlApp As Object
答案 0 :(得分:1)
如果您包含对特定版本的Microsoft Outlook(或任何其他软件)的引用,并且最终用户具有该软件的更高版本,则该引用仍然有效,前提是该供应商软件已正确设置版本继承,并未进行重大更改。
但是,如果最终用户拥有该软件的早期版本(即Outlook),则该引用将不起作用,因此您需要设置对您要支持的该软件的最早版本的引用。
这样,您可以完全避免后期绑定,并且仍允许引用软件的多个版本。
您只需要注意不要将对旧版本引用软件的引用更新到较新版本,否则您可能会破坏使用旧版本软件的用户的工作簿。