2013-02-22 159 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