使用VBA设置Excel将“打印工作簿”设置为默认打印设置

我的问题

我在VBA中寻找一种方法来将工作簿设置为“打印工作簿”而不是工作表。

我的路障

工作簿本身不能使用AutoExecmacros,因为这是一个程序生成的.xls

我有访问VBA代码导出查询结果到Excel文档。 然后,相同的VBA代码打开Excel文档,格式化.xls文件并添加一些额外的东西(特定工作表中的Headers,Footers,Freezes标题行等)。 然后closures.xls直到最终用户稍后打开。

不能使用ActiveWorkbook.PrintOut

最终用户通常需要打印NOTHING或整个WORKBOOK(他们几乎从不打印单个工作表)。 我知道我可以立即打印出所有的工作表,通过添加到我的子的末尾:

 ActiveWorkbook.PrintOut Copies:=1, Collate:=True 

然而,这不是我想要的。 我有多个位置的用户,其中一些需要打印,其中一些则不需要打印。 所以我想留下选项打印给个人用户。

因此,我期望做的是让最终用户确实需要手动打印文档时,它已被设置为打印整个工作簿,而不是打印选定的工作表。 我知道用户可以手动进行额外的点击,但是我们有一些用户只是点击打印,并且说“我们错过了信息”,而实际上他们并没有打印整个工作簿 – 我想消除这个问题。

所以所有这一切说… 在VBA的方式来设置“打印工作簿”作为默认的打印设置?