通过VBA将MS Excel 2003工作簿导出为PDF

问题描述:

我有一个Excel 2003工作簿,其中包含一个将某些表单复制到新工作簿的宏,然后保存并关闭新工作簿。它会这样做几十次,每次都会有不同的纸张选择。通过VBA将MS Excel 2003工作簿导出为PDF

我想向宏添加一个额外的步骤来将辅助工作簿的电子表格导出为PDF。这样做的最明显的方法是使用PDF打印机和Excel内置的打印功能,但大多数PDF打印机在完成之前会为您提供“另存为...”对话框。显然,单独输入七十多个场合缺乏吸引力 - 所以我希望能够提前设置它(可能是“使用我打印的文件的文件名减去其扩展名”),然后选择默认选项。

免费PDF打印机的任何想法,这样做?或者一个合适的选择?

的Office 2007允许这一点。我发现PDFCreator是好的,VBA包含在示例文件中,并且听说CutePDF也不错。 PDFCreator和CutePDF是免费的。

这可能会帮助:http://www.pdf995.com

一个特点是“三自动名称选项绕过另存为对话框中的”

作为Remou(明智)回答的发展,并且因为这也帮助我解决了我的问题。

我选择pdfcreator(因为我已经有它安装),这就是我最终使用:

Sub PDF_Print() 
    Dim p 
    p = ActivePrinter 
    ActivePrinter = "PDFCreator" 
    ActiveDocument.PrintOut 
    ActivePrinter = p 
End Sub 

就像一个魅力