将某些Excel工作表中的某些页面保存为PDF

时间:2014-01-21 08:46:52

标签: excel vba excel-vba

我使用以下代码从一系列工作表中打印一系列页面。我知道我可以使用“print to PDF”打印机将数据转换为PDF。但是当我打印时,我的Excel文档的某些方面并没有那么漂亮。但是当我保存为PDF时,文档确实很漂亮。所以我想知道是否有任何方法可以从选择的AS PDF页面中保存一系列页面。

If IsEmpty(Cells(i, "C").Value) Then 'Printa alla sidor
    Call Sheets(Cells(i, "A").Value).PrintOut
ElseIf Cells(i, "C").Value = 0 Then 'Printa fram till viss sida
    Call Sheets(Cells(i, "A").Value).PrintOut(1, 1)
ElseIf Cells(i, "C").Value > 0 Then 'Printa fram till viss sida
    Call Sheets(Cells(i, "A").Value).PrintOut(1, Cells(i, "C").Value)
End If

1 个答案:

答案 0 :(得分:3)

是的,根据THIS MSDN information,有可能使用.ExportAsFixedFormat method

如何使用此方法的最简单示例提供了下一行代码:

Selection.ExportAsFixedFormat xlTypePDF, "testFile.pdf"

将所选范围导出为名为“TestFile.pdf”的PDF文件

我可以将多个选项导出到同一PDF文件吗?

是的,你可以。有两种选择:

  1. 从一个工作表Union()导出一些非连续范围,这将为每个范围内部创建新页面:

    Union(Range("A1:f10"), Range("A15:d15")).ExportAsFixedFormat _
        xlTypePDF, "testFile.pdf"
    
  2. 从不同工作表导出范围 - 使用.ExportAsFixedFormat作为Workbook method,将整个工作簿中的每个打印区域导出为一个PDF文档。它就是这样的:

    ActiveWorkbook.ExportAsFixedFormat xlTypePDF, "testFile2.pdf"
    
  3. 对于第二个想法,请检查.ExportAsFixedFormat method的其他参数以限制要打印的页面。