2014-01-08 36 views
0

我遇到了一個非常奇怪的問題,前面討論過的一段代碼是here a while agoExcel打印到PDF - 不能正常工作,沒有返回錯誤代碼

該代碼用於完成應該完成的工作:將打印區域內的紙張部分保存爲PDF文件。但是,在更改同一個Excel文件的另一個模塊中的代碼之後,此代碼不會再執行,而完全不返回任何錯誤消息。

如果有人能夠在他們的機器上測試該代碼並告訴我它是否有效或者至少返回任何錯誤,那將是非常棒的嗎?代碼在下面;如果需要,我可以從文件中的其他模塊提供更多代碼以及屏幕截圖。非常感謝您的幫助!

Sub Invoice_to_PDF() 
'Saves the invoice print area to a PDF file 

Dim fp As String 
Dim wb As Workbook 
Dim ws As Worksheet 

fp = "C:\Users\Matthias\Desktop\NewInvoice.pdf" 
Set wb = ActiveWorkbook 
Set ws = Worksheets("Invoice") 

ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fp, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True 

End Sub 

回答

0

代碼很好,沒有錯誤返回。使用僅包含此方法和少量數據的新文件在Excel 2010上進行測試。

+1

您是否嘗試過將更少或不同的屬性應用於ExportAsFixedFormat方法? 如果您在自己執行此特定功能之前手動設置PrintArea,它工作嗎? 您最近安裝/卸載了PDF加載項嗎? –

+0

感謝您的回覆。我玩過一些屬性,手動設置打印區域 - 不變。我還沒有安裝或卸載任何PDF加載項。當我現在執行代碼時,它什麼都不做。奇怪的是:在朋友的機器上,它顯然引起了運行時錯誤1001(?),所以它可能與Excel版本(我的Mac是2011)或者打印機設置有關? – Matthias

+0

您是否曾嘗試在函數的開頭放置一個斷點,然後逐步執行(F8)?爲此,請單擊要執行暫停的行的邊界(或單擊行並按F9)。執行停止在哪一行? –