1

我尝试编写一个 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

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

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

谢谢!

迈克尔

4

2 回答 2

0

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

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

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

如果我遇到您的情况,我会尝试从内存中完全退出 Outlook,修复或重新安装 Outlook/Office。我不认为您的代码有什么大问题。由于 .display 有效,我很惊讶。

于 2012-07-05T17:01:52.073 回答
0

C:\Users\ 的访问权限可能存在问题

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

于 2016-02-08T13:16:29.983 回答