Dawn möchte, dass die Fußzeile auf jeder Seite ihres Dokuments die ersten beiden Wörter enthält, die auf der folgenden Seite des Dokuments erscheinen. Wenn sich die Paginierung ändert, sollte die Fußzeile natürlich aktualisiert werden, um die beiden Wörter oben auf der folgenden Seite wiederzugeben.

Dies ist aus mehreren Gründen ein schwieriges Problem. Mit Word können Sie mit dem Feld STYLEREF ganz einfach Kopf- oder Fußzeilen im „Wörterbuchstil“ erstellen. Dieses Feld bezieht sich jedoch immer auf die erste oder letzte Verwendung eines Stils auf der Seite, auf der das Feld STYLEREF angezeigt wird. In Dawns Fall möchte sie Wörter von der nächsten Seite, nicht von der aktuellen Seite.

Das größte Problem ist jedoch der Wunsch, dass die Fußzeile dynamisch aktualisiert wird, wenn die Bearbeitung im Dokument erfolgt. Wir konnten mit den von Word bereitgestellten Tools keinen Weg finden, dies zu tun. Falls gewünscht, können Sie ein Makro erstellen, mit dem die Fußzeilen festgelegt werden. Es gibt jedoch einen Haken: Da jede Seite eine andere Fußzeile hat, müssen Sie am Ende jeder Seite einen Abschnittswechsel hinzufügen. Dies bedeutet natürlich, dass Sie beim späteren Hinzufügen oder Löschen von Text Abschnittswechsel löschen müssen, damit sie wieder mit dem Ende jeder Seite übereinstimmen.

Klingt kompliziert? Dies kann insbesondere dann der Fall sein, wenn Sie ein Dokument mit vielen Seiten haben, da für ein solches Dokument viele Abschnittswechsel erforderlich sind.

Trotzdem hilft ein Makro ähnlich dem folgenden dabei, das zu erreichen, was Sie wollen:

Sub FillFooter()

Dim iPage As Integer     Dim iSec As Integer     Dim sFText As String     Dim sTemp As String

sFText = "See next page for this: "



Selection.HomeKey Unit:=wdStory     ' Go to beginning of document

' Use Find and Replace to get rid of all section breaks     Selection.Find.ClearFormatting     Selection.Find.Replacement.ClearFormatting     With Selection.Find         .Text = "^b"

.Replacement.Text = ""

.Forward = True         .Wrap = wdFindContinue         .Format = False         .MatchCase = False         .MatchWholeWord = False         .MatchByte = False         .MatchAllWordForms = False         .MatchSoundsLike = False         .MatchWildcards = False         .MatchFuzzy = False     End With     Selection.Find.Execute Replace:=wdReplaceAll

iSec = 1            ' Only 1 section now in document     For iPage = 1 To Selection.Information(wdNumberOfPagesInDocument) - 1         ' Figure out first two words on "next page"

Selection.GoTo what:=wdGoToPage, which:=wdGoToNext, Name:=iPage + 1         Selection.MoveRight Unit:=wdWord, Count:=2, Extend:=wdExtend         sTemp = Trim(Selection)

While Asc(Right(sTemp, 1)) < 65             ' Word counts punctuation, tabs, etc. as a word, so grab another word             Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend             sTemp = Trim(Selection)

Wend                  Selection.Collapse      ' Now at beginning of page again         Selection.MoveUp Unit:=wdParagraph         Selection.InsertBreak Type:=wdSectionBreakContinuous                  ' Set text for page footer         With ActiveDocument.Sections(iSec).Footers(wdHeaderFooterPrimary)

.LinkToPrevious = False             .Range.Text = sFText & sTemp         End With         iSec = iSec + 1     Next iPage End Sub

Das Makro entfernt zuerst alle Abschnittswechsel aus dem Dokument, durchläuft dann jede Seite des Dokuments und ermittelt die ersten beiden Wörter. Anschließend wird ein Absatz gepackt, ein fortlaufender Abschnittswechsel hinzugefügt und schließlich die Fußzeile für diesen Abschnitt so festgelegt, dass sie dem gewünschten Text entspricht. Sie sollten beachten, dass die Fußzeile gleich dem Wert in der sFText-Variablen gesetzt wird, gefolgt von den ersten beiden Wörtern der nächsten Seite.

Verstehen Sie, dass ein solches Makro einen „statischen“ Ansatz für die gewünschte Fußzeile bietet. Wenn Sie also Änderungen an Ihrem Dokument vornehmen, möchten Sie das Makro erneut ausführen, um die Fußzeilen zu aktualisieren.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die beliebteste Textverarbeitungssoftware der Welt.) Dieser Tipp (2835) gilt für Microsoft Word 2007, 2010, 2013 und 2016.