我有一个文本框,里面有两个命令按钮,我不想在打印时显示。我已将下面列出的代码放在FilePrint和FilePrintDefault Word命令中。如果我使用快速打印按钮打印,它可以完美地工作并且不会打印。但是,如果我使用Ctrl + P打印并打开打印对话框,则打印文本框。如何设置它以便无论您如何打印,文本框都不会打印?这是一个几个人都会使用的套用信函,所以我不能为每个人更改Word打印设置,这就是我使用宏的原因。
Sub FilePrint() ' ' FilePrint Macro ' Prints the active document '
With ActiveDocument
.Shapes(1).Visible = msoFalse
.PrintOut Background:=False
.Shapes(1).Visible = msoTrue
End With
End Sub
Sub FilePrintDefault() ' ' FilePrintDefault Macro ' Prints the active document using the current defaults '
With ActiveDocument
.Shapes(1).Visible = msoFalse
.PrintOut Background:=False
.Shapes(1).Visible = msoTrue
End With
End Sub
答案 0 :(得分:1)
您可以将Word应用程序的DocumentBeforePrint
事件用于此目的。这是MS解释如何设置的地方。 https://msdn.microsoft.com/en-us/library/office/ff821218.aspx
实际上,为了在打印后再次显示文本框,您可以使用事件过程调用现有过程(确保在循环中禁用它们调用事件过程),然后取消打印。因此,无论您采用哪种方式初始化打印过程,事件过程都会获得控制权,只需运行一次,然后取消其他所有操作。