【问题标题】:Forwarding Macro not working in Outlook 2013转发宏在 Outlook 2013 中不起作用
【发布时间】:2015-05-16 03:43:09
【问题描述】:

我自动转发运行此宏的文件夹中的所有邮件。我昨天升级到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

【问题讨论】:

标签: vba outlook outlook-2013


【解决方案1】:

您的代码看起来不错,我没有在代码中看到任何奇怪的地方。看起来您需要创建一个规则并分配要运行的 VBA 宏子。

【讨论】:

  • 谢谢。我已经全部设置并分配给它。它运行良好,没有错误,但实际上并没有转发任何东西。我向它添加了另一个操作,将其分配给一个类别,并且它起作用了,所以我认为问题出在 VBA 方面 i.imgur.com/oGkgDk9.png
  • 我刚刚修改了安全设置并允许所有宏并降低了所有其他安全性。当我运行规则时,它仍然不会转发文件夹中的邮件。感谢任何人的帮助。
【解决方案2】:

一些问题:

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

尝试以下方法:

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

另外,由于我不知道是什么触发了您的宏,确切地说,它可能会在遇到非 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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多