2016-11-18 126 views
0

我正在嘗試編寫一個將單元格範圍選擇導出爲PDF的腳本。 我寫的代碼如下:將Excel工作表範圍導出爲PDF錯誤

Sub ExporttoPDF() 

With Sheets("Results").Range("B10:J100") 
    .ExportAsFixedFormat _ 
    Type:=xlTypePDF, _ 
    Filename:="C:\Users\Export.pdf", _ 
    Quality:=xlQualityStandard, _ 
    IncludeDocProperties:=True, _ 
    IgnorePrintAreas:=False, _ 
    OpenAfterPublish:=True 
End With 

End Sub 

每次我運行該腳本,我得到一個彈出消息與讀取錯誤:「運行時錯誤‘1004’:文檔未保存的文件可能會打開,或者在保存時可能會遇到錯誤。「

我在網上調查過,並試圖找到解決方案,但無法。你知道我可能做錯了什麼嗎? 謝謝。

+0

請不要低估問題,不要留下支持性意見。如果有一個有效的理由,除非你告訴我們它是什麼,否則它是無法修復的。如果你的理由無效,我們就不能辯論它們。 –

回答

0

這不是最清晰的錯誤信息。最可能的原因是您對C:\Users文件夾有寫權限。這通常僅限於管理員帳戶。

我測試使用非管理員帳戶執行以下操作:

  1. C:\用戶\檢驗.pdf
  2. C:\用戶\ 我的,用戶名 \檢驗.pdf

第一次提出了你遇到的同樣的錯誤。第二個工作。

+0

就是這樣!非常感謝! – franciscofcosta

+0

downvote?如何正確的答案是錯的!?請隨時更新評論,無論你是誰。人們會怎樣學習? –

+0

我沒有downvote你的答案。恰恰相反! – franciscofcosta

1

我認爲這與Excel不允許寫入該區域有關嗎?我仍在尋找,但我能夠通過改變路徑來實現它。

Sub ExporttoPDF() 

With Sheets("Results").Range("B10:J100") 
    .ExportAsFixedFormat _ 
    Type:=xlTypePDF, _ 
    Filename:="C:\Users\tjb1\Desktop\Export.pdf", _ 
    Quality:=xlQualityStandard, _ 
    IncludeDocProperties:=True, _ 
    IgnorePrintAreas:=False, _ 
    OpenAfterPublish:=True 
End With 

End Sub