Outlook中的VBA:“microsoft outlook已停止工作”消息

时间:2012-07-05 09:54:48

标签: vba outlook

我尝试编写一个VBA脚本,该脚本会自动回复位于共享邮箱收件箱中的邮件。目前它只是一个测试,稍后我想回复新传入的邮件。 但是,到目前为止,如果我尝试运行代码,Outlook崩溃时出现错误“microsoft outlook已停止工作”,我必须重新启动Outlook。

fyi:我正在使用德语版Outlook 2007。

Sub ReplyMail()

Dim myOutApp As Object
Dim myNameSpace As Object
Dim myMailFolder As Object
Dim myRecipient As Outlook.Recipient

boxName = "sharedmailbox@host.de"      'configure mailbox address here

'Get Mailbox folder
Set myOutApp = CreateObject("Outlook.application")
Set myNameSpace = myOutApp.GetNamespace("MAPI")
Set myRecipient = myNameSpace.CreateRecipient(boxName)
    myRecipient.Resolve         'convert mail address into mailbox name
Set myMailFolder = myNameSpace.GetSharedDefaultFolder(myRecipient, olFolderInbox)

Dim Item As Object
Set Item = myMailFolder.Items(1)

Dim oMail As Outlook.MailItem
Set oMail = Item.Reply
With oMail
    .BodyFormat = olFormatHTML
    .HTMLBody = "<HTML>This is a test mail.</HTML>"     
    .Send
End With

End Sub

如果使用“.display”而不是“.send”,邮件会正确弹出,我可以手动发送邮件。

我真的不知道如何解决这个错误,请帮助!

谢谢!

迈克尔

2 个答案:

答案 0 :(得分:0)

很奇怪! 除非它是一个特殊的错误,我没有看到它。 小注释:将对象声明为Outlook对象:

Dim myOutapp as outlook.application 
Dim myNameSpace as outlook.namespace
Dim myMailFolder as Mapifolder

这对于一般性能(对象是一般类型)但几乎肯定不会解决您的问题。

如果我遇到你的情况,我会尝试从内存中完全退出Outlook,修复或重新安装Outlook / Office。我不认为你的代码有些严重错误;由于.display有效,我很惊讶。

答案 1 :(得分:0)

访问权限可能存在问题 C:\用户\

从某个时间点开始打开某些电子邮件时,我遇到了类似的问题。以某种方式取消了对该文件夹的访问权限。 所以我按照这个程序,一切都很好了: http://www.addictivetips.com/windows-tips/windows-7-access-denied-permission-ownership/