Word Makro vor Ausdruck ausführen
Hallo Admins,
gibt es eine Möglichkeit ein Makro in einen Worddokument auszuführen bevor das Dokument ausgedruckt wird?
Unter Excel soll das anscheinend mit BeforePrint funktionieren. Doch bei Word klappt das bei mir nicht.
Bin für jeden Tipp dankbar.
Gruß Joni
gibt es eine Möglichkeit ein Makro in einen Worddokument auszuführen bevor das Dokument ausgedruckt wird?
Unter Excel soll das anscheinend mit BeforePrint funktionieren. Doch bei Word klappt das bei mir nicht.
Bin für jeden Tipp dankbar.
Gruß Joni
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151458
Url: https://administrator.de/contentid/151458
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Joni!
In Word funktioniert das auch, nur etwas anders als z.B. in Excel.
Führe folgende Schritte aus:
Schritt 1: VB-Editor öffnen und in <Project(Dateiname)><ThisDocument> diesen Code einfügen (Registrierung der Ereignisprozedur):
Schritt 2: <ThisDocument><Rechte Maustaste> <Einfügen Klassenmodul>
Schritt 3: <Klassenmodul (Name)> "Klasse1" ändern nach "EventClassModule"
Schritt 4: <Klassenmodul (EventClassModule) diesen Code einfügen:
Schritt 5: <Debug><kompiliern von Project><Speichern>
Schritt 6: Dokument schließen und wieder öffnen oder im Klassenmodul ThisDocument die Subroutine "Document_Open manuell starten (Event-Registrierung ausführen)
Nach Erledigung der einzelnen Schritte, sollte Dir beim starten eines Druckvorgangs zu Testzwecken eine Meldung ausgegeben werden, wobei der Druckvorgang per Cancel= True abgebrochen wird.
Gruß Dieter
In Word funktioniert das auch, nur etwas anders als z.B. in Excel.
Führe folgende Schritte aus:
Schritt 1: VB-Editor öffnen und in <Project(Dateiname)><ThisDocument> diesen Code einfügen (Registrierung der Ereignisprozedur):
Dim RegistryEventHandler As New EventClassModule
Private Sub Document_Open()
Set RegistryEventHandler.AppWord = Word.Application
End Sub
Schritt 3: <Klassenmodul (Name)> "Klasse1" ändern nach "EventClassModule"
Schritt 4: <Klassenmodul (EventClassModule) diesen Code einfügen:
Public WithEvents AppWord As Word.Application
Private Sub AppWord_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
MsgBox "Der Druckvorgang für das Dokument " & Doc & " wird abgebrochen!"
Cancel = True
End Sub
Schritt 6: Dokument schließen und wieder öffnen oder im Klassenmodul ThisDocument die Subroutine "Document_Open manuell starten (Event-Registrierung ausführen)
Nach Erledigung der einzelnen Schritte, sollte Dir beim starten eines Druckvorgangs zu Testzwecken eine Meldung ausgegeben werden, wobei der Druckvorgang per Cancel= True abgebrochen wird.
Gruß Dieter
Ich belebe diesen Beitrag mal.
Ich habe in meinem Word Dokument ein MAKRO dass mir fortlaufend eine Nummer generiert.
Wie kann ich erreichen dass diese Nummer auch beim Drucken fortlaufend generiert wird?
Sagen wir die Nummer steht aktuell bei 002.
Jetzt öffne ich das Dokument und möchte es 10mal ausdrucken.
Wie erreiche ich nun, dass die Nummer auf allen Ausdrucken sich ändert??
Ich habe in meinem Word Dokument ein MAKRO dass mir fortlaufend eine Nummer generiert.
Private Sub Document_New()
End Sub
Private Sub Document_Open()
Order = System.PrivateProfileString("J:\Settings.txt", _
"MacroSettings", "Order")
If Order = "" Then
Order = 1
Else
Order = Order + 1
End If
System.PrivateProfileString("J:\Settings.txt", "MacroSettings", _
"Order") = Order
ActiveDocument.Bookmarks("Order").Range.InsertBefore Format(Order, "00#")
ActiveDocument.SaveAs FileName:="path" & Format(Order, "00#")
End Sub
Wie kann ich erreichen dass diese Nummer auch beim Drucken fortlaufend generiert wird?
Sagen wir die Nummer steht aktuell bei 002.
Jetzt öffne ich das Dokument und möchte es 10mal ausdrucken.
Wie erreiche ich nun, dass die Nummer auf allen Ausdrucken sich ändert??