下面的代码打开我想要检测是否已打开的屏幕:
Sub Test()
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")
End Sub它似乎没有激活我可以为其创建事件处理程序的CommandBarButton对象。任何关于如何在不更改文件选项卡结构的情况下执行此操作的想法,因为这只与一个文档相关。我们的目标是能够在打印文档之前设置双面打印,同时仍然可以使用标准的File->Print选项。
发布于 2021-03-27 23:32:27
你可以走老路。在有要捕获的事件之前,简单地通过创建一个具有相同名称的例程来拦截命令是很常见的。
例如:
Public Sub PrintPreviewAndPrint()
MsgBox "Hello!"
End Sub或者,您也可以捕获DocumentBeforePrint事件,尽管这只会在执行对话框之后触发。
发布于 2021-03-28 02:47:27
无法重新调整后台UI控件的用途,但您可以创建自己的UI。因此,一个更好的解决方案是考虑隐藏内置UI,并使用自定义命令完全重新构建它。Introduction to the Office 2010 Backstage View for Developers文章解释了构建自定义后台UI的基础知识。
Application.DocumentBeforePrint事件允许取消默认操作,因此您可以使用PrintOut方法以编程方式以所需方式打印文档。
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 Subhttps://stackoverflow.com/questions/66832599
复制相似问题