Hi Baba,
im Internet schwirren mehrere gute Tutorials rum, wie man das macht. Hab Dir mal das wesentliche rausgesucht, damit sollte es gehen.
Du schreibst hier zwar im VBA Forum, aber es scheint als ob Du Word VBA meinst. Dafür gibt es ein extra Forum hier. Dort wird auch VBA abgehandelt, aber macht nix ... auch hier wird Dir geholfen.
Als erstes müssen wir das Event 'DocumentBeforePrint' registrieren.
Am besten Du schreibst den ganzen Code in eine Documentenvorlage. Hab das zum probieren kurz in der 'Normal.dot' gemacht.
Zuerst eine Klasse namens 'ThisApplication' erstellen und folgenden Code reinkopieren.
Code:
Public WithEvents oWordApp As Word.ApplicationPrivate Sub oWordApp_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
'hier kommt dann dein code für den button rein
End Sub
Als nächstes ein Modul anlegen - Name ist egal - und folgenden Code reinkopieren.
Code:
Dim oWordAppClass As New ThisApplicationSub AutoExec()
Set oWordAppClass.oWordApp = Word.Application
End Sub
Nun ist das Event registriert und springt, wenn Du den DruckDialog aufrufst, vorher noch in die Procedure 'oWordApp_DocumentBeforePrint' rein.
Achja dein CommandButton unsichtbar machen ...
Hmmm ... warum geht '.CommandButton.Visible' nicht??????
Das ist sogar für mich neu ... *grübel*
Die Antwort bekommst Du noch nachgeliefert. Weiss ich so auf anhieb nicht.
Gruss TP
------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP