【发布时间】:2015-09-28 07:27:49
【问题描述】:
我正在尝试通过 Outlook 中的规则运行将附件保存到文件夹中的宏。
电子邮件有时包含多个附件。我正在尝试按顺序保存文件,例如,如果我查看电子邮件,我可以很容易地看到与之对应的文件。
我在网上找到了以下内容:
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "C:\PathToDirectory\"
Dim dateFormat As String
dateFormat = Format(itm.ReceivedTime, "yyyy-mm-dd Hmm ")
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName
Next
End Sub
我试过玩objatt.displayname,但没有成功。我已经尝试分配新名称并创建一个新循环来命名文件 File 1 , File 2 等等,但是当我这样做时,我会丢失文件扩展名。
更新版本:
Option Explicit
Public Sub save_attachments(itm As Outlook.MailItem)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim strExt As String
Dim i As Long
Dim savefolder As String
i = 1
savefolder = "C:\Users\w\desktop\test"
For Each objAtt In itm.Attachments
i = i + 1
strExt = fso.GetExtensionName(objAtt.DisplayName)
objAtt.SaveAsFile savefolder & "\" & dateFormat & " - File " & i & "." & strExt
Next
End Sub
【问题讨论】:
标签: vba outlook outlook-2010