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

问题描述 投票:0回答:1

我的问题

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

我的障碍

无法在工作簿本身中使用 AutoExec 宏,因为这是程序生成的 .xls

我有 ACCESS VBA 代码,可将查询结果导出到 Excel 文档中。然后,相同的 VBA 代码打开 Excel 文档,格式化 .xls 文件并添加一些额外的内容(页眉、页脚、冻结特定工作表中的标题行等)。然后关闭 .xls,直到最终用户稍后打开它。

无法使用

ActiveWorkbook.PrintOut

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

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

但是,这不是我想要的。我的用户分布在多个地点,其中一些需要打印,一些则不需要。所以我想将打印选项留给个人用户。

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

综上所述... VBA中有没有办法将“打印工作簿”设置为默认打印设置?

excel vba ms-access printing
1个回答
0
投票

有人有上面代码的示例吗?

© www.soinside.com 2019 - 2024. All rights reserved.