【发布时间】:2012-07-05 15:04:39
【问题描述】:
当用户实际打印报告时,我想触发一些代码。不是在打印预览等时,而是仅在发送到打印机时。用户需要能够拉出报告并查看它,然后如果他们决定打印,vba 代码将接管并将一些信息写入与用于生成报告不同的表中。我希望不必在实际报告上放置一个打印按钮(即使我知道我可以隐藏它以进行打印),所以我想知道是否可以以某种方式捕获打印对话框。
有没有人有幸这样做过?
【问题讨论】:
-
您是否考虑过将自己的代码写入打印按钮?
-
@Remou,我已经考虑过了(见上文),但我希望我可以从 File --> Print 或 Ctrl-P 捕获事件。我担心用户只会使用传统的打印方法而不使用我的打印按钮。
-
我在想的是您将菜单上的打印按钮更改为您自己的宏。您可以重新分配菜单按钮,因此用户可以选择的唯一按钮就是您的按钮。同样,您可以创建自己的右键菜单。
-
您是想阻止用户执行手动打印,还是希望在文档发送到打印机时只执行附加操作?我建议使用表单的 Timer 事件监视打印假脱机,如果出现文档名称,请执行请求的操作。 Take a look at this code.
-
我目前还没有带有菜单栏的版本,但我记得自定义按钮来双关我的功能,所以不是说 mnuPrint,而是将 Action 设置为 MyFunction。
标签: ms-access vba ms-access-2003