从一些Excel工作表中保存一些页面为PDF

我使用下面的代码打印select的工作表中的一系列页面。 我知道我可以使用“打印到PDF”打印机来获取数据到PDF。 但是当我打印时,我的Excel文档的某些方面并没有变得那么漂亮。 但是,当我将其另存为PDF时,文档变得非常漂亮。 所以我想知道是否有任何方法来保存一系列的页面从select的工作表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 

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

如何使用这个方法的最简单的例子提出了下一行代码:

 Selection.ExportAsFixedFormat xlTypePDF, "testFile.pdf" 

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

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

是的你可以。 有两个选项可用:

  1. 从一个表单使用Union()导出一些不连续的范围,这将为每个范围内的新页面:

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

     ActiveWorkbook.ExportAsFixedFormat xlTypePDF, "testFile2.pdf" 

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