2013-06-29 127 views
1

我已經使用下述溶液進行打印從Excel到PDF嘗試:雖然解決方案似乎已經工作了其他人Excel中:VBA打印到PDF - 運行時錯誤1004

Excel 2013 Print to PDF in VBA

,它在我的情況下產生運行時錯誤1004。有沒有人有任何進一步的想法,爲什麼這可能是?我搜查了一下,仍然無法弄清楚原因可能是什麼?難道我的Excel版本是不同的(我使用2007)?

我對原始解決方案的唯一修改是更改文件路徑,以便將其保存到我的桌面。我的代碼如下:

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

     Dim fp As String 
     Dim wb As Workbook 

     fp = "C:\desktop\NewInvoice.pdf" 
     Set wb = ActiveWorkbook 

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

End Sub 
+0

在2007年和2010年都適合我......你的錯誤究竟在哪一行? –

+1

它在行[code] wb.ExportAsFixedFormat [/ code] - 如果你改變文件路徑,它是否工作?已經認爲,也許這條路可能是無效的? – Matthias

+0

是的,確切地說,這是可能的,這將是原因...! –

回答

1

因此,這是工作的代碼,現在爲Windows用戶鍵(Mac OS可能需要調整文件路徑):

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\[username]\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

如果要導出的工作表不包含數據然後導出失敗。我在MrExcel論壇上找到了這個解決方案,在那裏有人似乎偶然發現了答案!

相關問題