转发宏在Outlook 2013中不起作用

时间:2015-03-13 15:19:51

标签: vba outlook outlook-vba outlook-2013

我自动显示我运行此宏的文件夹中的所有消息。我昨天升级到2013年,但它不起作用。我搜索了所使用的命令,无法找到我在Outlook 2013中未被识别的任何命令。

Sub ChangeSubjectForward(Item As Outlook.MailItem)
Item.Subject = "TAG NUMBER1234" & Item.Subject
Item.Save

Set myForward = Item.Forward
myForward.Recipients.Add "Email@email.com"

myForward.Send
End Sub

2 个答案:

答案 0 :(得分:0)

您的代码看起来不错,我在代码中看不到任何奇怪的内容。看起来您需要创建规则并指定VBA宏子运行。

答案 1 :(得分:0)

一些问题:

运行此规则的规则设置是什么? 您是手动运行该文件夹上的规则,还是规则自动在触发器上运行? 您收到任何错误消息吗?

尝试以下方法:

确保运行自动转发宏的规则在规则列表中低于在该子文件夹中归档邮件的规则(如果您使用的规则)。

另外,由于我不知道是什么触发了你的宏,所以它可能会在遇到非MailItem对象时停止。试试这个改变:

Sub ChangeSubjectForward(olObj As Object)

dim Item As Outlook.MailItem

If olObj.Class <> olMail Then 'Making sure it is an email message
    msgbox("Object Was Not MailItem")
    Exit Sub
End If

Set Item = olObj

Item.Subject = "TAG NUMBER1234" & Item.Subject
Item.Save

Set myForward = Item.Forward
myForward.Recipients.Add "Email@email.com"

myForward.Send
End Sub

如果您不断收到消息“Object Is Not MailItem”,则错误的对象会传递给您的子。