首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何捕捉在Word 2016 (backstage视图)的文件菜单/选项卡中选择的打印选项?

如何捕捉在Word 2016 (backstage视图)的文件菜单/选项卡中选择的打印选项?
EN

Stack Overflow用户
提问于 2021-03-27 22:47:02
回答 2查看 36关注 0票数 0

下面的代码打开我想要检测是否已打开的屏幕:

代码语言:javascript
复制
Sub Test()
  Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
End Sub

它似乎没有激活我可以为其创建事件处理程序的CommandBarButton对象。任何关于如何在不更改文件选项卡结构的情况下执行此操作的想法,因为这只与一个文档相关。我们的目标是能够在打印文档之前设置双面打印,同时仍然可以使用标准的File->Print选项。

EN

回答 2

Stack Overflow用户

发布于 2021-03-27 23:32:27

你可以走老路。在有要捕获的事件之前,简单地通过创建一个具有相同名称的例程来拦截命令是很常见的。

例如:

代码语言:javascript
复制
Public Sub PrintPreviewAndPrint()
   MsgBox "Hello!"
End Sub

或者,您也可以捕获DocumentBeforePrint事件,尽管这只会在执行对话框之后触发。

票数 2
EN

Stack Overflow用户

发布于 2021-03-28 02:47:27

无法重新调整后台UI控件的用途,但您可以创建自己的UI。因此,一个更好的解决方案是考虑隐藏内置UI,并使用自定义命令完全重新构建它。Introduction to the Office 2010 Backstage View for Developers文章解释了构建自定义后台UI的基础知识。

Application.DocumentBeforePrint事件允许取消默认操作,因此您可以使用PrintOut方法以编程方式以所需方式打印文档。

代码语言:javascript
复制
Public WithEvents appWord as Word.Application 
 
Private Sub appWord_DocumentBeforePrint _ 
 (ByVal Doc As Document, _ 
 Cancel As Boolean) 
 
 Dim intResponse As Integer 
 
 intResponse = MsgBox("Have you checked the " _ 
 & "printer for letterhead?", _ 
 vbYesNo) 
 
 If intResponse = vbNo Then Cancel = True 
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66832599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档