定位不同版本的Outlook

时间:2016-03-09 21:54:25

标签: vb.net outlook

我有一个能够发送预先生成的电子邮件的程序。

大部分办公室(包括我)都安装了Outlook 2010,但由于升级,有少数人使用Outlook 2013,另一人使用Outlook 2016.

我希望无论安装哪个版本的Outlook,都可以使程序正常运行,因为暂时没有计划升级办公室的其余部分。

编辑:我当前的方法

参考:C:\ WINDOWS \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Outlook \ 14.0.0.0__71e9bce111e9429c \ Microsoft.Office.Interop.Outlook.dll

Imports Microsoft.Office.Interop.Outlook.OlItemType
Imports Microsoft.Office.Interop

Private Sub cmdEmailInvite_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEmailInvite.Click
    If lstInvites.SelectedItems.Count > 0 Then
        Dim Subject As String = "Invite Code"
        Dim Body As String = "Please visit our registration page"

        Dim oApp As New Outlook.Application
        Dim oEmail As Outlook.MailItem

        oEmail = oApp.CreateItem(olMailItem)
        oEmail.BodyFormat = Outlook.OlBodyFormat.olFormatHTML
        oEmail.To = lstInvites.SelectedItems(0).Text
        oEmail.Subject = Subject
        oEmail.Body = Body
        oEmail.Display()
    End If
End Sub

3 个答案:

答案 0 :(得分:1)

您可以查看NetOffice,它支持使用多个版本的Office。有一个使用Outlook on the web site发送电子邮件的示例。我没有使用过Outlook API,但Word API对我来说效果很好,而且它们(我相信)与常规自动化API几乎相同。

答案 1 :(得分:0)

我总是使用System.Net.Mail。您只需要知道邮件服务器的位置。 这也是一个很好的资源www.systemnetmail.com

答案 2 :(得分:0)

只要您将interop dll与您的应用程序一起包含并定位支持最低版本的Outlook(2010),您就可以了。 你还需要确保他"具体版本"在引用上设置为false。