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

时间:2008-10-22 02:40:05

标签: excel pdf excel-vba pdf-generation excel-2003 vba

我有一个Excel 2003工作簿,其中包含一个宏,用于将某些工作表复制到新工作簿,然后保存并关闭新工作簿。它执行了几十次,每次都有不同的工作表选择。

我想在宏中添加一个额外的步骤,将辅助工作簿的电子表格导出为PDF。显而易见的方法是使用PDF打印机和Excel内置的打印功能,但大多数PDF打印机在完成之前会为您提供“另存为...”对话框。显然,单独输入这个七十多个时间缺乏吸引力 - 所以我想要一些允许我提前设置的东西(可能是“使用我正在打印的文件的文件名减去它的扩展名”)然后只选择默认选项。

有关免费PDF打印机的任何想法吗?还是一个合适的替代方案?

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

作为Remou(明智)答案的一个发展,因为这也是帮助我解决问题的原因。

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

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

像魅力一样工作

答案 2 :(得分:0)

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

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