【发布时间】:2017-04-26 17:13:05
【问题描述】:
我正在尝试在 Outlook 中获取 VBA 宏,它将电子邮件的附件保存到特定文件夹(每个月都会更改)并将收到的上个月的 YYYYMM 添加到文件名中。
outlook 规则识别电子邮件标头包含来自某人的“NTMR”。
当它这样做时,它会运行将附件保存在文件夹中的脚本。
因此,当宏识别收到电子邮件的月份时,它会保存在滞后一个月的文件夹中。例如:
在 DD/04/17 收到的电子邮件为“这是给您的 NTMR 文件”,它会将文件保存在 201703 父文件夹中的文件夹中,为 NTMR - 201703
所以文件的路径是 C:\Users\alitalh\Downloads\Test\201703\Source Files\NTMR 201703
我想出了 follownig 宏 - 请告知我该如何修复它?
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat As String
saveFolder = "C:\Users\alitalh\Downloads\Test"
dateFormat = Format(Now, "yyyymm" - 1, 1)
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & dateFormat & "\" & "Source Files" & "\" & objAtt.DisplayName & dateFormat
Set objAtt = Nothing
Next
End Sub
如何从标题中去掉 NTMR 并将其放入文件名中?
我有另一个宏可以在电子邮件之前设置文件夹,因此我们不需要创建另一个文件夹
【问题讨论】:
-
NTMR 在哪里?主题行?还是电子邮件正文?
-
@0m3r 主题行