Arbeitsmappe drucken + Fußzeile einfügen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Arbeitsmappe drucken + Fußzeile einfügen
von: Jürgen
Geschrieben am: 28.07.2015 14:50:06

Hallo zusammen,
ich möchte über einen Button meine gesamte Arbeitsmappe ausdrucken und dabei noch vorher eine aktualisierte Fußzeile setzen (Druckdatum).
Aufruf über Button:


Private Sub CommandButton1_Click()
ActiveWorkbook.PrintOut Copies:=1, Collate:=True
End Sub

Coding um Fußzeile zu setzen:

Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim wks As Worksheet
Dim Drucken As Integer
Application.ScreenUpdating = False
  For Each wks In Worksheets
'    With wks.PageSetup
'      .LeftHeader = ""
'      .CenterHeader = ""
'      .RightHeader = ""
'      .LeftFooter = ""
'      .CenterFooter = ""
'      .RightFooter = ""
'      .LeftHeader = ""
'      .CenterHeader = ""
'      .LeftFooter = ""
'      .CenterFooter = ""
'      .RightFooter = "&""Arial""&B&8 Gedruckt: &D"
 wks.PageSetup.RightFooter = "&""Arial""&B&8 Gedruckt: &D"
'    End With
  Next wks
Application.ScreenUpdating = True
Sheets("Dateneingabe").Cells(1, 3).Value = 1 'Bedingte Formatierung ändern
Cancel = True
Application.EnableEvents = False
Drucken = Sheets("Dateneingabe").Cells(2, 3).Value 'Variable für alles Drucken lesen
If Drucken = 1 Then
        ActiveWorkbook.PrintOut Copies:=1, Collate:=True
      Else
        ActiveSheet.PrintOut
End If
Application.EnableEvents = True
Sheets("Dateneingabe").Cells(1, 3).Value = 0 'Bedingte Formatierung ändern
Sheets("Dateneingabe").Cells(2, 3).Value = 0 'alles Drucken rücksetzen
End Sub

Wenn ich das ganze über die Druckfunktion aufrufe, funktioniert der Druck, der Aufruf über meinen Button bringt allerdings nichts. Ich finde aber leider den Fehler nicht.
Danke für eure Hilfe
Jürgen

Bild

Betrifft: AW: Arbeitsmappe drucken + Fußzeile einfügen
von: AlexG
Geschrieben am: 01.08.2015 14:41:27
Hallo Jürgen,
du hast das Makro ja auch im BeforePrint Event. Das Makro läuft also nur wenn die Druckfunktion genutzt wird.
Das hier auf einem Button sollte klappen.

Option Explicit
Sub drucken()
Dim wks As Worksheet
Dim drucken As Integer

Application.ScreenUpdating = False
For Each wks In Worksheets
    wks.PageSetup.RightFooter = "&""Arial""&B&8 Gedruckt: &D"
Next wks
Application.ScreenUpdating = True

Sheets("Dateneingabe").Cells(1, 3).Value = 1 'Bedingte Formatierung ändern 

Application.EnableEvents = False
drucken = Sheets("Dateneingabe").Cells(2, 3).Value 'Variable für alles Drucken lesen 
If drucken = 1 Then
    ActiveWorkbook.PrintOut Copies:=1, Collate:=True
Else
    ActiveSheet.PrintOut
End If
Application.EnableEvents = True
Sheets("Dateneingabe").Cells(1, 3).Value = 0 'Bedingte Formatierung ändern 
Sheets("Dateneingabe").Cells(2, 3).Value = 0 'alles Drucken rücksetzen 
End Sub
Gruß
Alex

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Arbeitsmappe drucken + Fußzeile einfügen"