excel – 如何在VBA中进行后期绑定?

我有这个小功能,通过VBA实现电子邮件的创建,
它从另一个与Excel文件一起工作的函数中获取数据.

我遇到的问题是我通过Excel 2016完成了这一切,当我的一些同事试图使用它时,错误的引用(Outlook Library 16.0).

所以我查看了互联网解决方案,我找到的解决方案很多,但更好的是Late Binding.我已经阅读了所有相关内容,但我似乎并不真正了解正在发生的事情以及如何使其在以下代码中运行.

Sub EscalateCase(what_address As String, subject_line As String, email_body As String)

    Dim olApp As Outlook.Application
    Set olApp = CreateObject("Outlook.Application")

        Dim olMail As Outlook.MailItem
        Set olMail = olApp.CreateItem(olMailItem)

        olMail.To = what_address
        olMail.Subject = subject_line
        olMail.BodyFormat = olFormatHTML
        olMail.HTMLBody = email_body
        olMail.Send

    End Sub

因此,也许你可以帮我解决这个例子,以便看到我的这个实际案例.

最佳答案
这是早期绑定:

Dim olApp As Outlook.Application
Set olApp = New Outlook.Application

这是后期绑定:

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

后期绑定不需要引用Outlook Library 16.0,而早期绑定则需要.但是,请注意,后期绑定有点慢,您将无法获得该对象的智能感知.

转载注明原文:excel – 如何在VBA中进行后期绑定? - 代码日志