2017-06-19 51 views
0

我運行下面的腳本來保存郵件到達時的Outlook附件但我經常遇到運行時錯誤'-2147024864(80070020),它永遠停止Outlook電子郵件的流入。請指教如何擺脫。獲取「運行時錯誤」-2147024864(80070020),其中保存Outlook附件上的Outlook附件

Sub saveAttachtoDisk(itm As Outlook.MailItem) 
Dim objAtt As Outlook.Attachment 
Dim saveFolder As String 
saveFolder = "C:\Email\" 

    For Each objAtt In itm.Attachments 

      objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName 

      Set objAtt = Nothing 
    Next 
End Sub 

enter image description here

+0

可能有人請提供他們的意見。 – RKP

+0

您將文件夾保存爲「C:\ Email \」,但稍後再添加第二個斜槓:您的SaveAsFile因此爲:「C:\ Email \\ foo。***」使用objAtt.SaveAsFile saveFolder&objAtt.DisplayName – Tragamor

+0

感謝你的建議,我現在會嘗試。 – RKP

回答

0

試試這個代碼,請

它打印每個附件的名稱它保存附件之前

按ctrl-G,看看那裏的打印輸出發送

檢查的最後一個文件名打印程序崩潰時,「立即窗口」

它可以提供一些見解

Sub saveAttachtoDisk(itm As Outlook.MailItem) 
    Dim objAtt As Outlook.Attachment 
    Dim saveFolder As String 
    saveFolder = "C:\Email\" 

    For Each objAtt In itm.Attachments 

     debug.print objAtt.DisplayName  ' print attachment name to "immediate window" 

     objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName 

    Next 
    Set objAtt = Nothing 
End Sub