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

通过VBA将MS Excel 2003工作簿导出为PDF,pdf,excel,pdf-generation,excel-2003,vba,Pdf,Excel,Pdf Generation,Excel 2003,Vba,我有一个Excel 2003工作簿,其中包含一个宏,用于将其某些工作表复制到新工作簿,然后保存并关闭新工作簿。它会这样做几十次,每次选择的板材略有不同 我想在宏中添加一个额外步骤,将辅助工作簿的电子表格导出为PDF。最明显的方法是使用PDF打印机和Excel的内置打印功能,但大多数PDF打印机在完成之前都会给您一个“另存为…”对话框。显然,在七十多个场合单独输入这个文件缺乏吸引力——因此我希望能够提前设置它(可能是“使用我正在打印的文件的文件名减去扩展名”),然后选择默认选项 有没有关于免费PD

我有一个Excel 2003工作簿,其中包含一个宏,用于将其某些工作表复制到新工作簿,然后保存并关闭新工作簿。它会这样做几十次,每次选择的板材略有不同

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

有没有关于免费PDF打印机的想法?或合适的替代方案?

这可能有助于:


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

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

作为对来自的(明智的)答案的改进,因为这也帮助了我解决了我的问题

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

Sub PDF_Print() 
    Dim p 
    p = ActivePrinter 
    ActivePrinter = "PDFCreator" 
    ActiveDocument.PrintOut 
    ActivePrinter = p 
End Sub 
很有魅力