Ereignis AfterPrint



Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Ereignis AfterPrint
von: Frank
Geschrieben am: 05.07.2002 - 11:52:01

Hallo Leute,

Ich nutze die Funktion Workbook_BeforePrint um bestimmte Formatierungen vor dem Drucken durchzuführen. Nach dem Drucken möchte ich diese wieder Rückstellen (z.B. versteckte Zeile sichtbar, anschliessend wieder verstecken). Gibt es eine Möglichkeit das Ereignis "Workbook_AfterPrint" zu emulieren oder bekomme ich das ganze nur über eine eigene Druckroutine hin?

Sprich:
Workbook_BeforePrint
cancel=True

(Formatierungen)
PrintOut
(Formatierungen rückgängig)

??????

Vielen Dank für eventuelle Tipps!




nach oben   nach unten

Re: Ereignis AfterPrint
von: UDF
Geschrieben am: 05.07.2002 - 12:26:46

Hallo Frank,

ich verstehe Dein Problem nicht. Deine Before_Print-Routine macht doch schon nichts anderes. Warum ersetzt Du die Frage-Zeichen nicht durch Deine Rückformatierungen? Dann brauchst Du nur das eine Makro.

Gruss
Markus


nach oben   nach unten

Re: Ereignis AfterPrint
von: Frank
Geschrieben am: 05.07.2002 - 12:48:51

Hi Markuss,
unter Sprich war 'ne Idee von mir, die ich inzwischen getestet habe, funktioniert aber nicht richtig. Wenn ich cancel = true setze, bekomme ich keinen Ausdruck, setzt ich cancel=false (oder Zeile weglassen) bekomme ich 2 Ausducke, einen mit der Kofzeile und einen ohne Kopfzeile. Deswegen kam ich auf die Idee mit einem Ereignis "AfterPrint".

Hier meine Testroutine:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
' Kopfzeile hervorholen
Worksheets("Kalkulation").Rows(Worksheets("Kalkulation").Range("rHeader").Row).Hidden = False
Worksheets("Kalkulation").PrintOut
Worksheets("Kalkulation").Rows(Worksheets("Kalkulation").Range("rHeader").Row).Hidden = True
Cancel = True
End Sub


Gruß Frank

nach oben   nach unten

Lösung
von: Frank
Geschrieben am: 05.07.2002 - 14:53:09

Hi, da anscheinend mir keiner helfen konnte/ wollte ist mir doch noch eine Lösung eingefallen, die vielleicht auch andere interessiert:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
' Kopfzeile hervorholen

Worksheets("Kalkulation").Rows(Worksheets("Kalkulation").Range("rHeader").Row).Hidden = False

Application.OnTime Now + TimeValue("00:00:03"), "HiddenHeader"

End Sub


Im Modul wird dann die Procedure HiddenHeader angelegt:

Sub HiddenHeader()

Worksheets("Kalkulation").Rows(Worksheets("Kalkulation").Range("rHeader").Row).Hidden = True

End Sub


Eventuell müßte mit der Zeitspanne für den Start der Funktion noch gespielt werden.

Gruß Frank :-)

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Ereignis AfterPrint"