将 VB6 代码从 Outlook 2007 升级到 Outlook 2010
我们想要升级 VB6 代码以使用 Outlook 2010,但出现以下错误: Active x 无法创建对象
这是我们当前的代码:
Public Sub SendEmail()
Set emailOutlookApp = CreateObject("Outlook.Application.12")
Set emailNameSpace = emailOutlookApp.GetNamespace("MAPI")
Set emailFolder = emailNameSpace.GetDefaultFolder(olFolderInbox)
Set emailItem = emailOutlookApp.CreateItem(olMailItem)
Set EmailRecipient = emailItem.Recipients
EmailRecipient.Add (EmailAddress)
EmailRecipient.Add (EmailAddress2)
emailItem.Importance = olImportanceHigh
emailItem.Subject = "My Subject"
emailItem.Body = "The Body"
'-----Send the Email-----'
emailItem.Save
emailItem.Send
'-----Clear out the memory space held by variables-----'
Set emailNameSpace = Nothing
Set emailFolder = Nothing
Set emailItem = Nothing
Set emailOutlookApp = Nothing
Exit Sub
我不确定“Outlook.Application.12”是否正确。但我无法为此找到明确的答案。
We want to upgrade our VB6 code to use Outlook 2010, but we're getting the following error:Active x cannot create object
This is our current code:
Public Sub SendEmail()
Set emailOutlookApp = CreateObject("Outlook.Application.12")
Set emailNameSpace = emailOutlookApp.GetNamespace("MAPI")
Set emailFolder = emailNameSpace.GetDefaultFolder(olFolderInbox)
Set emailItem = emailOutlookApp.CreateItem(olMailItem)
Set EmailRecipient = emailItem.Recipients
EmailRecipient.Add (EmailAddress)
EmailRecipient.Add (EmailAddress2)
emailItem.Importance = olImportanceHigh
emailItem.Subject = "My Subject"
emailItem.Body = "The Body"
'-----Send the Email-----'
emailItem.Save
emailItem.Send
'-----Clear out the memory space held by variables-----'
Set emailNameSpace = Nothing
Set emailFolder = Nothing
Set emailItem = Nothing
Set emailOutlookApp = Nothing
Exit Sub
I'm not sure if "Outlook.Application.12" is correct. But I can't find a definitive answer for this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
对于 Outlook 2010,这绝对是正确的
Outlook.Application.14
。但是,我不知道office 2007怎么样。
我认为它是
Outlook.Application.12
,对于较低版本,它只是“Outlook.Application”。For Outlook 2010, this is definitly corect
Outlook.Application.14
.But, I don't know what about office 2007.
I think it's
Outlook.Application.12
and for lower versions it is simply "Outlook.Application".这是我在 2010 年改用的代码:
Here's the code I switched to for 2010:
为什么要明确指定版本?为什么不简单地
设置 emailOutlookApp = CreateObject("Outlook.Application")
Why do you explicitly specify the version? Why not simply
Set emailOutlookApp = CreateObject("Outlook.Application")
尝试
“Outlook.Application.14”
。不确定这是否相关: 2007 至 2010 升级问题我意识到这不是确切的问题,但它可能会引导您走上正确的道路。
Try
"Outlook.Application.14"
. Not sure if this is related though: 2007 to 2010 upgrade issueI realize it's not the exact issue, but it may lead you down the right path.