我在规则中使用此脚本
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "c:\temp\"
MkDir itm.Parent, saveFolder ' here creating folder if not exist
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & itm.Parent & "\" & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
但是问题是所有保存到INBOX的附件都称为文件夹,但没有保存在邮件已移动的文件夹中。
那么如何获取规则将电子邮件移动到的文件夹名称?
所以现在要保存在c:\temp\Inbox
中,但是必须保存在c:\temp\Unfiled
中,或者如果移动的文件夹是子文件夹,那么必须保存在c:\temp\Folder\Unfiled
答案 0 :(得分:2)
我相信您的问题是您正在要求规则移动MailItem和脚本以保存附件。根据您的描述,我推断出Outlook在规则移动MailItem之前先运行脚本。这不是规则向导所说的,但是症状与规则向导所说的不符。
光盘文件夹地址为saveFolder & "\" & itm.Parent & "\" & objAtt.DisplayName
。在移动邮件项之前,itm.Parent
是“收件箱”。只有在搬家之后itm.Parent
才会被“取消提起”。
您的选择包括:
saveFolder & "\Unfiled\" & objAtt.DisplayName