Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

"Workbook.AfterPrint"

Forumthread: "Workbook.AfterPrint"

"Workbook.AfterPrint"
28.09.2006 11:18:07
Dr.
Hi zusammen,
gibt es sowas wie ein Workbook.AfterPrint, oder bleibt mir nur die Alternative, den Standarddruckbefehl auf einen Button zu legen und so Anweisungen nach dem Drucken ausführen zu lassen?
Danke im voraus!
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Workbook.AfterPrint"
28.09.2006 11:25:57
Reinhard
Hi Dr,
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
Application.EnableEvents = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
' Deine AfterPrintbefehle
Application.EnableEvents = True
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: "Workbook.AfterPrint"
28.09.2006 11:43:33
Dr.
Saugut! Danke Dir!
AW: "Workbook.AfterPrint"
28.09.2006 11:27:22
Rudi
Hallo,
du kannst Before_Print ein bisschen verbiegen:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.EnableEvents = False
Cancel = True
ActiveSheet.PrintOut
MsgBox "Fettich!"
Application.EnableEvents = True
End Sub

Gruß
Rudi
Anzeige
AW: "Workbook.AfterPrint"
28.09.2006 11:30:14
UweD
Hallo
das wäre eine Alternative.
- rechtsclick auf das kleine Excelsymbol in der Symbolleiste neben Datei
- Code anzeigen
- im neuen Fenster (DieseArbeitsmappe) den Code reinkopieren

Private Sub Workbook_BeforePrint(Cancel As Boolean)
On Error GoTo Fehler
Cancel = True 'bricht den eigendlichen Druckauftrag ab
Application.EnableEvents = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1 'druckt neu
'ab hier dein AfterPrintbereich
'mach was du möchtest
Fehler:
Application.EnableEvents = True
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
;
Anzeige

Infobox / Tutorial

Workbook.AfterPrint in Excel: So setzt du AfterPrint-Befehle um


Schritt-für-Schritt-Anleitung

Um Befehle nach dem Drucken auszuführen, kannst du die Workbook_BeforePrint-Ereignisprozedur in VBA nutzen. Hier ist eine einfache Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Doppelklicke im Projektfenster auf „DieseArbeitsmappe“.

  3. Füge den folgenden Code ein:

    Private Sub Workbook_BeforePrint(Cancel As Boolean)
       Application.EnableEvents = False
       Cancel = True ' Abbrechen des Druckauftrags
       ActiveSheet.PrintOut ' Drucke das aktive Blatt
       ' Deine AfterPrint-Befehle hier
       Application.EnableEvents = True
    End Sub
  4. Schließe den VBA-Editor und teste dein Workbook.

Mit dieser Methode kannst du beliebige Aktionen nach dem Drucken durchführen, wie das Anzeigen einer Nachricht oder das Ausführen von Berechnungen.


Häufige Fehler und Lösungen

  • Fehler: Der Druckauftrag wird nicht abgebrochen.

    • Lösung: Stelle sicher, dass Cancel = True vor dem Druckbefehl gesetzt wird.
  • Fehler: AfterPrint-Befehle werden nicht ausgeführt.

    • Lösung: Überprüfe, ob Application.EnableEvents korrekt gesetzt wird.
  • Fehler: Es kommt zu Laufzeitfehlern.

    • Lösung: Nutze einen On Error GoTo-Block, um Fehler abzufangen.
    On Error GoTo Fehler
    ' Dein Code hier
    Fehler:
    Application.EnableEvents = True

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, kannst du die Druckfunktionen in Excel manuell anpassen. Eine Möglichkeit ist, einen Button zu erstellen, der den Druckauftrag ausführt und anschließend eine Nachricht anzeigt.

  1. Füge einen Button in dein Excel-Blatt ein.
  2. Weise dem Button das Drucken zu und füge einen MsgBox-Befehl hinzu.

Praktische Beispiele

Hier sind zwei praktische Beispiele, die du ausprobieren kannst:

  1. Nachricht nach dem Drucken anzeigen:

    Private Sub Workbook_BeforePrint(Cancel As Boolean)
       Application.EnableEvents = False
       Cancel = True
       ActiveSheet.PrintOut
       MsgBox "Drucken abgeschlossen!"
       Application.EnableEvents = True
    End Sub
  2. Daten aktualisieren nach dem Drucken:

    Private Sub Workbook_BeforePrint(Cancel As Boolean)
       Application.EnableEvents = False
       Cancel = True
       ActiveSheet.PrintOut
       ' Daten aktualisieren
       ThisWorkbook.Sheets("Daten").Calculate
       Application.EnableEvents = True
    End Sub

Tipps für Profis

  • Verwende Application.ScreenUpdating = False: Deaktiviere die Bildschirmaktualisierung, um die Ausführung deines Codes zu beschleunigen.

  • Teste in einer Kopie: Arbeite immer in einer Kopie deiner Arbeitsmappe, um unerwünschte Veränderungen zu vermeiden.

  • Nutze Debugging: Verwende Debug.Print, um Informationen während der Ausführung zu protokollieren. So kannst du Probleme schneller identifizieren.


FAQ: Häufige Fragen

1. Kann ich AfterPrint-Befehle verwenden, ohne VBA? Ja, du kannst einfache Aktionen manuell nach dem Drucken durchführen, aber für automatisierte Abläufe ist VBA notwendig.

2. Was passiert, wenn ich Application.EnableEvents nicht setze? Wenn du Application.EnableEvents nicht setzt, kann es zu unerwartetem Verhalten kommen, da andere Ereignisse weiterhin ausgelöst werden könnten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige