我有一个报告电子表格,从数据库中获取一些数据并形成三个汇总报告信息表单。我希望能够从命令行自动运行电子表格,并将所有三个报告表单自动保存为PDF文件。
起初我以为可以通过工作表上的VBA宏来执行此操作,通过一系列“打印为PDF”,但这需要一个中介交互式对话框来指定输出文件名。然后我发现我只需另存为PDF,宏便可设置输出文件名。但是,这会创建三个单独的文件,我之后还需要在外部将它们合并在一起。
(奇怪的是,“另存为PDF”仅保存一个工作表,而其他保存模式似乎会保存整个工作簿。)
是的,之后有一些合并三个文件的工具,但我想知道是否有一些简单的方法可以让Excel将多个表单一起保存为一个PDF文件。
我现在通过一系列类似以下的步骤进行打印:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, ...
我能不能用单个语句来实现类似下面的伪代码:
ThisWorkbook.Sheets(1,2,3,4).ExportAsFixedFormat Type:=xlTypePDF, ...
book.Windows(1).Visible = False
隐藏工作簿,那么Sheets(..).Select()
将会失败。(针对 Python3.4 和 MS Office 2013) - WinandThisworkbook.Sheets(Array(Sheet1.Name, Sheet2.Name)).Select
,这样无论用户将工作表重命名为什么名称,宏仍然可以正常运行。要更改这种情况,您需要在VBA中编辑工作表属性。 - Pork