将电子邮件移动到Outlook中的子文件夹时,将电子邮件保存在文件夹中

时间:2019-04-02 11:50:42

标签: vba outlook

如果要将电子邮件移动到Outlook 2016中的某个文件夹,我正在尝试将电子邮件保存在一个文件夹中(在硬盘中)

由于公司的限制,我需要更改工作方式并存档我的信息。

我要在收件箱中收到一封电子邮件。我将手动对其进行处理,并决定将其存储在哪个文件夹中。如果电子邮件存储在(例如)文件夹A,B或C中,那么我希望将电子邮件保存在硬盘驱动器的"C:/.../email/folder A"(或B或C)中。但是,如果电子邮件存储在文件夹D或E中,则无需复制。

我在vba中自以为是,并在Excel中管理自己,但是我从未尝试过使用Outlook。

我有一个保存文件的代码,但是关键是如何检测何时以及通过哪封电子邮件调用该函数。

Public Sub SaveIncomingMsgToFolder(Item As Outlook.MailItem)
  Dim sPath As String
  Dim dDate As Date
  Dim sSubject As String

  sSubject = Item.Subject
  ReplaceIllegalChars sSubject, "-"

  dDate = Item.ReceivedTime
  sSubject = Format(dDate, "yyyymmdd") & Format(dDate, "-hhnnss") & "-" & sSubject & ".msg"

  sPath = "C:\1-Tests\"
  Item.SaveAs sPath & sSubject, olMSG
End Sub

所以我需要的是一个事件触发功能,当邮件到达文件夹A,B,C时将触发该事件,并将该文件夹中的传入电子邮件保存到硬盘驱动器中。

我希望可以做到这一点,非常感谢你们的帮助。

0 个答案:

没有答案