gpt4 book ai didi

vba - Word 2007 宏 : is there an OnPrint event I can attach a macro to?

转载 作者:行者123 更新时间:2023-12-04 21:34:09 25 4
gpt4 key购买 nike

我希望在将 Word 文件发送到打印机之前对其进行格式检查,并且它需要对用户完全透明(没有额外的控件,只需使用通过 UI 提供的标准打印选项)。是否有 OnPrint 或 BeforePrint 事件,或者可以在这方面使用的东西,我可以附加一个宏,就像打开、关闭或保存一样?这感觉应该很简单……但那是著名的遗言。

提前致谢, 罗布

最佳答案

您可以设置一个包装类来启用 Word 的应用程序事件。

在您的文档中,您将需要创建一个类模块。该类模块将被称为“clsEvents”。将此代码粘贴到您的新类模块中:

Public WithEvents myApp As Word.Application

Public Sub myApp_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)

'add your code here
MsgBox "Blah"
End Sub

接下来,创建一个标准模块。这将是将应用程序实例加载到您的类中的子程序。将此标准模块命名为“Events”。然后粘贴此代码:

Public e As clsEvents

Public Sub SetupEvents(theApp As Application)
Set e = New clsEvents
Set e.myApp = theApp
End Sub

最后,我们需要调用您刚刚创建的子例程。最简单的方法是在“ThisDocument”模块的 document_open 事件上调用它。粘贴此代码:

Private Sub Document_Open()
SetupEvents Me.Application
End Sub

这还允许您使用通常在没有文档包装器的情况下隐藏的所有其他 Word 应用程序事件。

关闭应用程序,下次打开文档并且用户尝试打印时,您的代码将执行。

希望有帮助!

关于vba - Word 2007 宏 : is there an OnPrint event I can attach a macro to?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3017288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com