如何“sheetwise”将Excel工作簿保存或导出为PDF文件?

我的代码存在的问题是要么将工作簿中所有工作表中的所有页面都保存起来,要么只保存“from”和“to”参数指定范围内的页面。

我正在使用的Excel文件有7个工作表,每个工作表可以有任何数量的页面。 例如,如果我指定要导出“从1到4”,则只有第一个工作表的前4个页面将作为PDF文档导出,而不是前4个工作表的所有页面。

有人能告诉我如何实现我想要做的? 下面的代码不是我想要的:

application.ActiveWorkbook.ExportAsFixedFormat( Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF, path, Excel.XlFixedFormatQuality.xlQualityStandard, true, true, 1, 4, false, Missing.Value); 

如果在select多个工作表之后使用ActiveSheet.ExportAsFixedFormat ,我认为它将按照您的要求(只要您在每个选定的工作表上设置打印区域)。

一个原始logging的macros观沿着这些线:

  Sheets(Array("Sheet1", "Sheet2")).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Documents and Settings\yourusername\Desktop\Book1.pdf", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= False 

答案是:ActiveSheet.PageSetup.Pages.Count

 Public Sub Export(ParamArray ToPrint() As Variant) 'hide all sheets For Each Sheet In ActiveWorkbook.Sheets Sheet.Hide Next Sheet 'unhide sheets to print For Each pageNo In ToPrint ActiveWorkbook.Sheets(pageNo).Show Next pageNo 'do the export Worksheet.ExportAsFixedFormat _ Microsoft.Office.Interop.Excel.XlFixedFormatType.xlTypePDF, _ Path, _ Excel.XlFixedFormatQuality.xlQualityStandard, _ True, _ True, _ Nothing, _ Nothing, _ False, _ Missing.Value 'unhide all sheets For Each Sheet In ActiveWorkbook.Sheets Sheet.Show Next Sheet 

结束小组

通过传入一个逗号分隔列表来导出

 Export 1, 2, 4