https://msdn.microsoft.com/en-us/vba...int-event-word
1. In a class module called clsWord
Option Explicit
Public WithEvents appWord As Word.Application
Private Sub appWord_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
Dim ans As Long
ans = MsgBox("Do you REALLY want to print this?", vbYesNo)
Cancel = (ans = vbNo)
End Sub
2. In a standard module
Option Explicit
Public msWord As clsWord
3. In ThisDocument
Option Explicit
Private Sub Document_New()
Set msWord = New ClsWord
Set msWord.appWord = Word.Application
End Sub
Private Sub Document_Open()
Set msWord = New ClsWord
Set msWord.appWord = Word.Application
End Sub