将电子邮件保存到Windows文件夹,主题为文件名

时间:2017-12-18 23:51:40

标签: vba outlook outlook-vba

我希望将特定的电子邮件(票证)保存到文件夹中。

我的搜索将我发送到此帖子(Macro to save e-mail as text file, to be used in a rule)。

当我尝试输出主题行时,我得到

  

由于文件权限错误,Outlook无法完成保存。

使用SenderName或时间/日期。

Public Sub SaveEmail(msg As Outlook.MailItem)
    ' assume an email is selected
    Set msg = ActiveExplorer.Selection.Item(1)

    ' the 2nd and 3rd options work but the 1st does not
    ' msg.SaveAs "C:\" & msg.Subject & ".msg", olTXT
    ' msg.SaveAs "C:\" & Format(Now, "YYYYMMDDHHMMSS") & ".txt", olTXT
    msg.SaveAs "C:\" & msg.SenderName & ".txt", olTXT
 End Sub

1 个答案:

答案 0 :(得分:1)

并非所有字符都可以在文件名中使用。即,这些。

Asterisk (*)
Backslash (\)
Colon (:)
Angle brackets (< >)
Question mark (?)
Slash (/)
Plus sign (+)
Pipe (|)
Quotation mark (")

网上有很多地方可以找到预先写好的功能,可以删除或替换它们。这是一个:Remove Illegal Characters from Filename