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

Outlook中的VBA:“;“microsoft outlook已停止工作”;消息,vba,outlook,Vba,Outlook,我尝试编写一个VBA脚本,它可以自动回复共享邮箱收件箱中的邮件。目前这只是一个测试,稍后我想回复新收到的邮件。 但是,到目前为止,如果我尝试运行代码,Outlook会崩溃,并出现错误“microsoft Outlook已停止工作”,我必须重新启动Outlook 仅供参考:我使用的是德国Outlook 2007版 Sub ReplyMail() Dim myOutApp As Object Dim myNameSpace As Object Dim myMailFolder As Object

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

仅供参考:我使用的是德国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
Sub ReplyMail()
Dim myOutApp作为对象
将myNameSpace设置为对象
Dim myMailFolder作为对象
将myRecipient设置为Outlook。收件人
boxName=”sharedmailbox@host.de“'在此配置邮箱地址
'获取邮箱文件夹
设置myOutApp=CreateObject(“Outlook.application”)
设置myNameSpace=myOutApp.GetNamespace(“MAPI”)
设置myRecipient=myNameSpace.CreateRecipient(boxName)
myRecipient.Resolve'将邮件地址转换为邮箱名称
设置myMailFolder=myNameSpace.GetSharedDefaultFolder(myRecipient,olFolderInbox)
将项目变暗为对象
Set Item=myMailFolder.Items(1)
将oMail设置为Outlook.MailItem
设置oMail=Item.Reply
与奥马尔
.BodyFormat=olFormatHTML
.HTMLBody=“这是一封测试邮件。”
邮寄
以
端接头
如果使用“.display”而不是“.send”,邮件将正确弹出,我可以手动发送邮件

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

谢谢大家!

迈克尔很奇怪! 除非它是一个特殊的bug,否则我看不到它。 小备注:将对象声明为Outlook对象:

Dim myOutapp as outlook.application 
Dim myNameSpace as outlook.namespace
Dim myMailFolder as Mapifolder
这对于一般性能(对象是一般类型)来说是可行的,但它几乎肯定不会解决您的问题


如果我是你的情况,我会尝试从内存中完全退出Outlook,修复或重新安装Outlook/Office。我不认为你的代码有什么严重的问题;由于.显示有效,我非常惊讶

访问权限可能存在问题 C:\用户\ 我在从某个时间点开始打开某些电子邮件时也遇到了类似的问题。不知何故,该文件夹的访问权限已被取消配置。 所以我遵循了这个程序,一切又恢复了正常:

另一件有趣的事情是,在我重新启动chrashed Outlook后,会出现回复邮件。在其他论坛上,我读到一些人收到安全信息,一些程序想自动发送电子邮件,但我没有。有什么问题吗?老实说,我不知道。在处理附件的同时,我已经完成了一些自动发送电子邮件和从邮箱(也是网络上的功能邮箱)检索邮件的工作,我从来没有遇到过这样的问题。我在互联网上读到其他人在Outlook automation中遇到问题,有时在重新安装或修复OL应用程序后得到解决。您不能显示而不是发送吗?在我以前工作过的公司,在发送邮件之前自动发送邮件而不进行明确修改甚至违反了一般规则。你可以通过至少加入链接中的一些信息来改进你的答案,以防有一天链接中断。