基本上,下面的脚本与OUTLOOK中的规则一起使用。当我收到电子邮件时,它会保存PDF附件。我遇到的问题是我想更改文件名(objAtt.SaveAsFile)。它所带来的文件名就像“userid.jobname.JOB22979 ...... ..”。我想使用第二个节点(本例中为jobname)保存文件,然后是日期和时间。我相信我可以从对象objAtt.DisplayName获取文件名,但我不知道如何只获取文件名中的第二个节点。
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat
dateFormat = Format(Now, "yyyy-mm-dd H-mm-ss")
saveFolder = "c:\users\xxxxxx\USER\documents\email\"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & dateFormat & "print.pdf"
Set objAtt = Nothing
Next
End Sub
答案 0 :(得分:0)
Split
取出第二个令牌;
DisplayName = "userid.jobname.JOB22979.blah"
job = Split(DisplayName & ".", ".")(1)
If Len(job) > 0 Then
job = job & "_" & Format$(Now, "yyyy-mm-dd H-mm-ss") & "_print.pdf"
Else
'// no match, use original
job = DisplayName
End If
objAtt.SaveAsFile saveFolder & job