我有一个报告电子表格,它从数据库中获取一些数据,并形成三张摘要报告信息。我希望从命令行自动运行电子表格,并让它自动将所有三个报表另存为PDF文件。
起初我以为我可以在工作表上有一个VBA宏,通过一系列“打印为PDF”来完成这项工作,但这需要一个中间交互对话框来指定输出文件名。然后我发现我可以只保存为pdf,并且宏可以设置输出文件名。然而,这会创建三个单独的文件,然后我必须将它们放在外部将它们合并在一起。
(奇怪的是,另存为pdf只保存一张工作表,而其他保存模式似乎可以保存整个工作簿。)
是的,有一些工具可以在以后合并这三个文件,但我想知道是否有一些简单的方法可以让Excel将多个工作表保存为一个pdf文件。
我现在打印一系列的东西,比如:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, ...我是否可以使用一条类似(伪代码)的语句:
ThisWorkbook.Sheets(1,2,3,4).ExportAsFixedFormat Type:=xlTypePDF, ...发布于 2013-01-19 05:32:15
首先选择要合并的图纸:
ThisWorkbook.Sheets(Array("Sheet1", "Sheet2")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\tempo.pdf", Quality:= xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True发布于 2014-09-13 03:49:35
我建议在导出到PDF后添加以下行:
ThisWorkbook.Sheets("Sheet1").Select(其中例如Sheet1是您希望在之后激活的单张工作表)
将多个工作表留在选定状态可能会导致执行某些代码时出现问题。(例如,当多个工作表处于活动状态时,取消保护功能无法正常工作。)
https://stackoverflow.com/questions/14404650
复制相似问题