2014-04-11 96 views
1

場基本上下面的腳本在Outlook中的規則工作一起。當我收到電子郵件時,它會保存PDF附件。我遇到的問題是我想更改文件名(objAtt.SaveAsFile)。它的文件名稱就像是「userid.jobname.JOB22979 ......」。我想用第二個節點(本例中爲jobname)保存文件,然後是日期和時間。我相信我可以從對象objAtt.DisplayName得到的文件名,但我不知道該如何拿起剛剛第二個節點中的文件名。拆分在Outlook

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

Split拔出第2個標記;

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 
+0

此代碼工作完全!!!!我仍然試圖讓顯示名稱= objAtt.DisplayName不知何故,這樣我就可以得到正確的作業名稱 – user3524421