【发布时间】:2016-03-11 04:23:59
【问题描述】:
我有一个程序能够发送程序生成的电子邮件。
大部分办公室(包括我)都安装了 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
【问题讨论】:
-
I'd like to be able to have the program work no matter which version of Outlook如果我们不知道您现在的情况,我们如何提供帮助?您知道不同版本之间存在差异,而且没有一个是相同的。无论哪种方式,您最终都会因此而写得更多... -
@Codexer 好点。已添加当前代码。
-
您使用的
dll对于 2013 年和 2016 年是正确的,而不是 2010 年。恐怕您不能引用 2 个不同版本的互操作。 -
一种选择是创建一个单独的
dll,确定电脑上安装的版本并根据版本使用其中一个...