2013-02-22 161 views
1

由於Excel 2013似乎允許直接保存爲PDF格式,因此如何使用VBA代碼執行此操作?我想構建一個宏,它將自動從工作表創建一個PDF文件(文件的名稱以String變量的形式傳遞)。 非常感謝大家Excel 2013在VBA中打印爲PDF

+0

試試宏記錄器也許?它可能會顯示給你。 – Joe 2013-02-22 17:46:45

+0

[此鏈接](http://www.excelguru.ca/content.php?161-Printing-Worksheets-To-A-PDF-File-(Using-Early-Binding)顯示了這樣做的示例代碼。到StackOverflow! – chuff 2013-02-22 17:53:21

+0

喬,你是完全正確的。雖然它看起來很明顯,但它跳過了我的腦海裏發現,Excel 2013將其視爲ActiveSheet.ExportAsFixedFormat – user2100348 2013-02-22 18:19:04

回答

3

嘗試

Dim fp As String 
Dim wb As Workbook 

fp = "C:\temp\foo.pdf" 
Set wb = ActiveWorkbook 

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

*注意ExportAFixedFormat必須有它在一行中的所有變量,否則將無法編譯。
**請注意,'_'字符應該允許它編譯,而不是全部在一行上

+0

它的工作原理非常感謝 – user2100348 2013-02-22 18:41:12

+0

我開始得到一個1004錯誤,並發現現在完全指定路徑是至關重要的,'ActiveWorkbook.Path'可以幫助解決這個問題 – dumbledad 2015-03-16 20:11:03