【问题标题】:Automated moving of attached messages to the inbox in Outlook自动将附加邮件移动到 Outlook 的收件箱
【发布时间】:2013-09-24 23:33:07
【问题描述】:

我经常收到以 Outlook 格式的 .msg 文件形式发送的转发电子邮件。这些电子邮件作为附件从另一个交换服务器转发。如果我将附加的邮件拖到我的收件箱,它们就会像任何其他电子邮件一样显示出来。我想找到一种自动方法来将这些附加的电子邮件提取到我的收件箱并删除包含 .msg 文件的原始消息。

我确信这可以通过结合 Outlook VBA 的规则来完成,但我缺乏从头开始编写此代码的技能。

任何提示或示例代码让我开始?

【问题讨论】:

标签: vba email outlook


【解决方案1】:

我会这样做。但是,我会给你一些你必须合并在一起的代码。

逻辑:

  1. 提取附件并保存为C:\
  2. 使用CreateItemFromTemplate()方法打开.msg文件。更多关于它HERE
  3. 将邮件移至相关文件夹

附件提取代码:已覆盖HERE

打开.msg文件的代码:

Sub CreateFromTemplate()
    Dim MyItem As Outlook.MailItem

    Set MyItem = Application.CreateItemFromTemplate("C:\Blah Blah.msg")
    MyItem.Display
End Sub

现在您有了.msg 的句柄,即MyItem,只需将其移动到相关文件夹,然后删除原始电子邮件

移动到不同文件夹的代码:已覆盖HERE。如果你搜索谷歌,你会得到更多的示例代码。

希望这能让你走上正确的道路。

【讨论】:

  • 非常感谢您的回答,它帮助我构建了自己的代码示例,效果很好。不幸的是,当我通过 CreateItem 解压缩附加消息时,收件箱中的结果消息提到它“尚未发送”。我不确定如何删除此消息。我看到了将邮件另存为“发布”项目的建议,但不知道这些是什么以及这是否能解决我的问题。你有什么建议吗?
  • 你能用你正在使用的最新代码更新你的问题吗?
  • 不过,这实际上不是我的问题,我在今天试图弄清楚这一点时偶然发现了它。如果我无法解决它,我可能会使用完整的代码创建一个新问题,但现在我遇到了 Outlook 的问题(目前它拒绝运行脚本),我必须首先解决。
  • 宏被禁用了,我猜?
  • 这是我检查的第一件事,实际上问题是 ThisOutlookSession 中的 Sub 之外的调试语句。该程序现在再次运行,但存在上述问题。如果我无法解决它,我将提交一个新问题,因为这可能会偏离主题。
猜你喜欢
  • 2010-12-27
  • 2014-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 2014-06-18
  • 1970-01-01
相关资源
最近更新 更多