Office: (Office 2019) Keine Feldaktualisierung über Abschnittsumbrüche hinaus

Helfe beim Thema Keine Feldaktualisierung über Abschnittsumbrüche hinaus in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hallo und guten Tag! Ich habe ein Dokument erstellt, dass drei Abschnittumbrüche enthält, die NICHT miteinander verbunden sind. Beide Abschnitte... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von FrankLoh, 22. Januar 2025.

  1. FrankLoh Neuer User

    Keine Feldaktualisierung über Abschnittsumbrüche hinaus


    Hallo und guten Tag!

    Ich habe ein Dokument erstellt, dass drei Abschnittumbrüche enthält, die NICHT miteinander verbunden sind.

    Beide Abschnitte enthalten je eine Fußzeile. Im ersten Abschnittsumbruch mit Inhaltsverzeichnis ist eine römische Seitenzahl und der Dateinamen enthalten. Im zweiten (Hochformat) und dritten (Querformat) Abschnittsumbruch sind in den jeweiligen Fußzeilen eine arabische Seitenzahl, die Gesamtseitenzahl und der Datenname enthalten. Der Dateiname mit Pfad ist als Feld eingefügt.

    Szenario: Das Dokument wird umkopiert und erhält einen neuen Namen und Pfad. Diese Information soll in allen Fußzeilen aktualisiert werden.

    Um beim Öffnen des Dokuments einen aktuellen Pfad- und Dateinamen zu erhalten, habe ich ein Macro erstellt:
    Sub AutoOpen()
    '
    ' AutoOpen Makro
    ' Felder (z.B. Pfad) beim Öffnen aktualisieren
    '
    Dim aStory As Range
    Dim aField As Field

    For Each aStory In ActiveDocument.StoryRanges
    For Each aField In aStory.Fields
    aField.Update
    Next aField
    Next aStory
    End Sub

    Der Code sollte durch alle Abschnitte des gesamten Dokuments gehen und das Feld für den Dateinamen aktualisieren.

    Leider funktioniert das nur im ersten Abschnitt des Dokuments. In den Folgeabschnitten wird der Dateiname/Pfad nicht an den aktuellen Speicherort angepasst.

    Gibt es außer "StoryRanges" auch noch eine andere Möglichkeit, die Abschnittumbrüche anzusteuern? Wie komme ich an diese anderen Abschnittumbrüche heran? Wie heißt dann das Object oder die Object-Range?

    Vielen Dank im voraus!
    Grüße, Frank
     
    FrankLoh, 22. Januar 2025
    #1
  2. Gerhard H Erfahrener User
    Hallo Frank ,

    rein vom Ansehen her fällt mir an deinem Code nichts auf, was nicht funktionieren sollte, aber ich hab ihn nicht ausprobiert. Ich favorisiere folgende Variante:
    Code:
    Sub Document_Open()
    Dim abschnitt As Section, feld As Field
    
        For Each abschnitt In ActiveDocument.Sections
            For Each feld In abschnitt.Footers(wdHeaderFooterPrimary).Range.Fields
                feld.Update
            Next feld
        Next abschnitt
    End Sub
    Die hat einerseits den Vorteil, dass sie nicht durch alle erdenklichen StoryRanges (z.B. Fußzeilen, Kopfzeilen, Fußnoten, Endnoten usw.) durchschleifen muss. Andererseits, wenn du verschiedene Fußzeilen in deinem Dokument hast (z.B. Fußzeilen für die erste Seite oder für gerade/ungerade), musst du selber dran denken, die mit abzufragen. Der Beispielcode hier berücksichtigt nur die normale Fußzeile pro Abschnitt.

    Noch was: Ich hab das Document_Open-Ereignis genommen; das muss zwingend ins Modul ThisDocument. Kannst aber auch bei AutoOpen bleiben.
     
    Gerhard H, 22. Januar 2025
    #2
  3. FrankLoh Neuer User
    Hallo Gerhard,

    vielen Dank für Deine Hinweise.
    Du schreibst:
    Das ist ja gerade mein Problem! Wie mache ich das? Welche Objekte muss ich in der Schleife abarbeiten? Gibt es noch andere "Abschnitte"? Die Begriffe sind sehr verwirrend, finde ich.
    Es klappt doch auch, wenn ich das Dokument drucken will und das Drucken dann abbreche.

    Grüße, Frank

    *Ich will mein WordPerfect zurück!!!*
     
    FrankLoh, 23. Januar 2025
    #3
  4. Gerhard H Erfahrener User

    Keine Feldaktualisierung über Abschnittsumbrüche hinaus

    Hallo Frank,

    je besser die Infos von deiner Seite, desto zielführender die Hilfe:

    könntest du bitte mitteilen, was passiert, wenn du mein Makrobeispiel auf dein Dokument anwendest?
    Und könntest du mitteilen, welche Sorten Fußzeilen du in deinem Dokument eingerichtet hast (du kannst pro Abschnitt drei verschiedene Fußzeilen haben:
    ...Footers(wdHeaderFooterPrimary) - die normale Fußzeile
    ...Footers(wdheaderFooterFirstPage) - die für die Layout-Option Erste Seite anders
    ...Footers(wdheaderFooterEvenPages) - Layout-Option gerade/unerade Seiten

    Wenn das der Fall ist, musst du die jeweils mit in die Schleife nehmen.

    Aber dann wäre es vielleicht doch einfacher, nicht die Abschnitte durchzuschleifen, sondern die Storyranges abzuklappern, wie in deinem ursprünglichen Makro. Allerdings gibt es da etwas zu beachten, was ich beim bloßen Angucken übersehen habe. Guck dir diesen Link an: Felder aktualisieren Dort gibt es ein Code-Beispiel, das die Zeile Set rngDoc = rngDoc.NextStoryRange enthält. Zieh dir die Erklärung dazu rein und teste.

    Noch eine kleine Zusatz-Info zu:
    "Es klappt doch auch, wenn ich das Dokument drucken will und das Drucken dann abbreche."
    Das hängt vom Feld-Typ ab:
    Manche Felder aktualisieren sich bereits unmittelbar nach Änderung (dazu gehört z.B. die Seitennummerierung in Kopf- oder Fußzeile)
    Manche beim Schalten in die Druckvorschau (z.B. der Dateiname)
    Manche beim (Wieder-)Öffnen des Dokuments
    Alle auf jedenfall per F9
    Und alle per VBA via Fields.Update, wobei man Felder außerhalb des Dokument-Hauptbereichs (z.B.Kopf- und Fußzeilen)gezielt ansprechen muss, wie im Bespielcode der verlinkten Seite gezeigt.
     
    Gerhard H, 23. Januar 2025
    #4
  5. Gerhard H Erfahrener User
    Hallo nochmal,

    und hier noch die (verbesserte) Version zum Durchschleifen der normalen Kopfzeile und der für Erste Seite anders via Sections:
    Code:
    Sub document_open()
    Dim abschnitt As Section
    
    'Felder im Hauptteil:
    ActiveDocument.Fields.Update
    
    'Felder in den Kopfzeilen
        For Each abschnitt In ActiveDocument.Sections
           abschnitt.Footers(wdHeaderFooterFirstPage).Range.Fields.Update
           abschnitt.Footers(wdHeaderFooterPrimary).Range.Fields.Update
        Next abschnitt
    End Sub
     
    Gerhard H, 23. Januar 2025
    #5
  6. FrankLoh Neuer User
    Guten Morgen Gerhard!

    Ich habe die Umbrüche mit UMBRÜCHE - ABSCHNITTSUMBRÜCHE - NÄCHSTE SEITE eingefügt. Das bedeutet wohl, dass ich "Primary"-Objecte eingefügt habe.

    Ich habe Deinen ersten Vorschlag getestet, der im Document_Open mit abschnitt.Footers_ (wdHeaderFooterPrimary).Range.Fields arbeitet. Das funktioniert sehr schön in allen Fußzeilen, auch im AutoOpen!

    Den Link mit habe ich mir angeschaut. Auch der war sehr hilfreich beim Verstehen der Funktionalität! Und das Arbeiten mit Sections wäre genau das gewesen, wonach ich gesucht habe. Ich werde einen Ausdruck in mein Word-Lehrbuch legen.
    Aber um einen allumfassenden Code für alle Kopf- und alle Fußzeilenzeilen-Arten zu schreiben, müsste man viel tippen. Keine Feldaktualisierung über Abschnittsumbrüche hinaus *:)*

    Und wieder frage ich mich, wie ein einfacher User das hinbekommen soll, der entweder keine Macros nutzen darf oder einfach kleine Ahnung von VBA hat. Denn ein Titelblatt (zentriert), eine Seite mit Dokumenten-Infos, einen Bereich für das Inhaltsverzeichnis (ohne Seitenzahlen) und den Textbereich (immer mit ungerader Seitenzahl beginnen) unterschiedlich zu formatieren, finde ich das normalste von der Welt. Es ist mir ein Rätsel, wie sich diese Textverarbeitung durchsetzen konnte! Aber egal.

    Ich danke Dir sehr für die Mühe und Dein Interesse an meinem Probelm! Danke!

    Schönes Wochenende und beste Grüße, Frank

    *Ich will mein WordPerfect zurück!!!*
     
    Zuletzt bearbeitet: 24. Januar 2025
    FrankLoh, 24. Januar 2025
    #6
  7. Gerhard H Erfahrener User
    Hallo Frank,

    schön, dass dein Problem gelöst ist. Noch ein paar Breschen in den Dschungel:

    Zum Auseinanderhaltenvon Abschnitts- und Kopf/Fußzeilenarten:
    "Ich habe die Umbrüche mit UMBRÜCHE - ABSCHNITTSUMBRÜCHE - NÄCHSTE SEITE eingefügt. Das bedeutet wohl, dass ich "Primary"-Objecte eingefügt habe."

    Nein, das bedeutet es nicht. Abschnitte gibt es in mehreren Varianten (z.B. Nächste Seite, Gerade/Ungerade Seite usw.)
    Primary ist eine der drei Varianten von Kopf/Fußzeilen, die jeder Abschnitt haben kann (primary, Firstpage und EvenPages).
    Mit dem Einfügen eines Abschnitts legst du nicht fest, welche Art von Kopf/Fußzeile dieser haben soll. Das ist ein eigenständiger Akt, den du makrofrei übers Menüband genau so erledigen musst. Es sei denn, du willst es bei der Standard-Voreinstellung lassen (primary)

    Das Unterteilen eines Dokuments in Abschnitte zwecks Einrichtung verschiedener Kopf/Fußzeilen gehört meiner Meinung nach zum Repertoire eines einigermaßen geübten Anwenders und kommt normalerweise auch ganz ohne Makros aus.

    In deinem Fall sind halt zwei unglückliche Umstände zusammengekommen:
    a)
    dass du dein Dokument umkopieren und umbenennen musstest. Hier beschleicht mich der Verdacht, dass du mit Dokumentvorlagen (Dateiformat *.dotx oder *.dotm) besser bedient sein könntest. Aber das kann ich von hier aus nicht beurteilen. Vielleicht machst du dich mal unter diesem Stichwort kundig.
    b)
    dass es wirklich seltsam ist, dass das Feld FileName sich nicht direkt beim Speichern aktualisiert, sondern erst, wenn man den Druckvorgang einleitet oder das Feld mit F9 händisch aktualisiert. Ein Makro ist nur dann nötig, wenn man diesen Vorgang automatisieren möchte.

    Und zum Schluss hab ich noch eine Bemerkung zu deinem Seufzer nach WordPerfect. Ich bin davon überzeugt, dass immer dasjenige Programm das beste ist, welches man am besten kennt. Man muss sich das halt in einem mehr oder weniger langwierigen Lernprozess aneignen. In diesem Sinne: Wenn du weitere Fragen hast, nur zu!
     
    Zuletzt bearbeitet: 24. Januar 2025
    Gerhard H, 24. Januar 2025
    #7
  8. FrankLoh Neuer User

    Keine Feldaktualisierung über Abschnittsumbrüche hinaus

    Hallo Gerhard,

    Ich habe das Macro schon in meine Vorlagen gepackt, damit ich das automatisch in neuen Dokumenten zur Verfügung habe. :)

    Danke für die Aufklärung bezüglich der unterschiedlichen Varianten von Kopf- und Fußtexten. Aber alleine die Tatsache, dass es sowas in Word gibt, lässt mich den Kopf schüttel. Im WP gibt es Kopf A und B und Fuß A und B, und die sind auch nicht miteinander verbunden. Diese Objekte kann ich entweder in einer gerade/ungerade Seite-Einstellung verwenden, oder ich kann sie individuell ein- und ausschalten, jeweils gültig ab der Seite, auf der das Ein- / Ausschalten erfolgt. Schalte ich z.B. Fuß A auf einer Seite aus und definiere dann einen neuen Fuß A auf dieser Seite, habe ich zwei unabhängige Fußzeilen. Auch das Update von Variablen wie Seitenzahlen, Pfade, letzter Autor, letztes Speicherdatum passiert automatisch und dokumentenweit.

    Aber ich will jetzt keine Diskussion über die "bessere" Textverarbeitung beginnen. :) Mir ist nur in dem einen Jahr, in dem ich mit Word arbeite, nichts begegnet, was intuitiv zu nutzen oder eleganter gelöst wäre, als im WP.

    Ich habe immer wieder festgestellt, dass auch Personen, die den ganzen Tag nichts anderes machen, als Texte zu erstellen, wenig bis keine Ahnung von ihrer Textverarbeitung haben, egal, welches Programm sie benutzen. Das ist natürlich auch eine Frage von Eigeninteresse und von Schulung, was aber gerade bei Textverarbeitung, und auch bei Tabellenkalkulation kaum gemacht wird, weil "das kann ja schon jeder".

    Ich bin Dir jedenfalls dankbar für Deine Hilfe! :)

    Bis zum nächsten Problem. :)
    Frank
     
    FrankLoh, 24. Januar 2025
    #8
  9. czil hat Ahnung
    Also, ich hab mit dem Sprung in die Druckvorschau die besten Erfahrungen gemacht. Das geht auch via VBA, aber wie schon weiter oben erwähnt, kann es sein, dass man dadurch (also via VBA in die Druckvorschau) nicht 100% alle erwischt.
    Drum gehe ich, wenn ich das "händisch" mache, zuerst mit Strg+A und dann F9 im Dokument, klicke die Kopfzeile doppelt und dort dann das Gleiche.
    Word hat von allen Office Programmen das komplexeste Objektmodell. :)
     
Thema:

Keine Feldaktualisierung über Abschnittsumbrüche hinaus

Die Seite wird geladen...
  1. Keine Feldaktualisierung über Abschnittsumbrüche hinaus - Similar Threads - Feldaktualisierung Abschnittsumbrüche hinaus

  2. Hinzufügen eines Abschnittsumbruchs in Word

    in Microsoft Word Tutorials
    Hinzufügen eines Abschnittsumbruchs in Word: Hinzufügen eines Abschnittsumbruchs in Word Word 2013 Wenn Sie einen Abschnittsumbruch hinzufügen möchten, klicken Sie auf der Registerkarte „Seitenlayout“ auf „Umbrüche“, und klicken Sie dann auf...
  3. Löschen eines Abschnittsumbruchs

    in Microsoft Word Tutorials
    Löschen eines Abschnittsumbruchs: Löschen eines Abschnittsumbruchs Word für Microsoft 365 Word für Microsoft 365 für Mac Word für das Web Word 2019 Word 2019 für Mac Word 2016...
  4. Abschnittsumbrüche zum Ändern des Layouts oder der Formatierung in einem Abschnitt des ...

    in Microsoft Word Tutorials
    Abschnittsumbrüche zum Ändern des Layouts oder der Formatierung in einem Abschnitt des ...: Abschnittsumbrüche zum Ändern des Layouts oder der Formatierung in einem Abschnitt des Dokuments verwenden Word für Microsoft 365 Word 2019 Word 2016 Word 2013...
  5. Anzeigen von Abschnittsumbrüchen

    in Microsoft Word Tutorials
    Anzeigen von Abschnittsumbrüchen: Anzeigen von Abschnittsumbrüchen Word für Microsoft 365 Word für Microsoft 365 für Mac Word für das Web Word 2019 Word 2019 für Mac Word 2016...
  6. Ändern eines Abschnittsumbruchs

    in Microsoft Word Tutorials
    Ändern eines Abschnittsumbruchs: Ändern eines Abschnittsumbruchs Word für Microsoft 365 Word für Microsoft 365 für Mac Word für das Web Word 2019 Word 2019 für Mac Word 2016...
  7. Einfügen eines Abschnittsumbruchs

    in Microsoft Word Tutorials
    Einfügen eines Abschnittsumbruchs: Einfügen eines Abschnittsumbruchs Word für Microsoft 365 Word für Microsoft 365 für Mac Word für das Web Word 2019 Word 2019 für Mac Word 2016...
  8. Bundsteg auf der falschen Seite oder Seitenzahl falsch

    in Microsoft Word Hilfe
    Bundsteg auf der falschen Seite oder Seitenzahl falsch: Folgende Ausgangssituation: Ein zweiseitiges Dokument mit Bundsteg Titelseite soll als rechte Seite formatiert werden (wie ein Buch halt) danach Inhaltsverzeichnis Titelseite +...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden