Workbook_BeforePrint - Kopf- und Fußzeilen verändern sich
#1
Hallo zusammen,

ich habe Schwierigkeiten, selbst-definierte Kopf- und Fußzeilen zu erzeugen. Folgender Code:

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)

    Dim ThisMonat As String
    Dim ThisJahr  As String
    Dim LHString  As String
    Dim CHString  As String
    Dim RHString  As String
    Dim LFString  As String
    Dim CFString  As String
    Dim RFString  As String
   
    Application.PrintCommunication = False
   
    LHString = "Kopfzeile links"
    CHString = "Kopfzeile Mitte"
    RHString = "Kopfzeile rechts"
    LFString = "Fusszeile links"
    CFString = "Fusszeile Mitte"
    RFString = "Fusszeile rechts"
   
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
       
        .LeftHeader = LHString
        .CenterHeader = CHString
        .RightHeader = RHString
        .LeftFooter = LFString
        .CenterFooter = CFString
        .RightFooter = RFString
    End With
           
    Application.PrintCommunication = True

End Sub

Ich habe hier ganz bewusst auf bestimmte Variablen verzichtet, wie "&[Seiten]" oder Textformatierungen (z.B. "&U").
Beim 1. Aufruf (egal ob Drucken oder Seitenansicht) wird alles wie angegeben umgesetzt;
beim 2. Aufruf werden die beiden "Center" durchgestrichen;
beim 3. Aufruf erscheint vor dem Text der beiden Centern die Seitenzahl "& [Seite]";
beim 4. Aufruf erscheint vor dem Text den beiden Centern "&[Pfad]" hinter "& [Seite]";
beim 4. Aufruf erscheint vor dem Text den beiden Centern "&[Pfad]" hinter "& [Seite]";
beim 6. Aufruf erscheint be beiden Centern nur noch "&[Pfad]& [Seite]"

Alle Addins sind ausgeschaltet. Das Verhalten kann ich mit anderen Excel-Dateien beliebig wiederholen.
Frage: Taucht das Problem auch bei euch auf (ggf. mit meinen beigefügten Dateien: identischer Inhalt, einmal als .xltm, einmal als .xlsb abgespeichert)? Kennt jemand eine Lösung? Oder sehe ich den Bug vor lauter Käfer nicht?


.xlsm   Drucken.xlsm (Größe: 21,7 KB / Downloads: 1)
.xlsb   Drucken.xlsb (Größe: 20,58 KB / Downloads: 0)
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top
#2
Da hatte Jemand das selbe Problem:

"Finally I found out, what caused it.
There seems to be a problem with the header / footer codes in VBA (German Excel Version) if the PrintCommunication is disabled. If that is the case &P becomes &S, &N -> &A, &F -> &N and so on. Furthermore the codes get probably converted back and forth when executed multiple times causing even more chaos."

Sollte heissen: Lösche einfach diese Zeile:

Code:
Application.PrintCommunication = False
[-] Folgende(r) 1 Nutzer sagt Danke an oee für diesen Beitrag:
  • LuckyJoe
Antworten Top
#3
... wow, Danke! Hätte nicht gedacht, dass das an den Entwicklern liegt. Ok, mit der Geschwindigkeit von Application.PrintCommunication = True kann ich leben. Wink
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top
#4
Gerne !
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste