by Allen Wyatt
(last updated January 28, 2017)
Dawn would like the footer on each page in her document to contain the first two words that appear on the following page in the document. If the pagination changes, then of course the footer should update to reflect whatever two words are then at the top of the following page.
This is a tough problem for several reasons. Word allows you to rather easily create "dictionary style" headers or footers, using the STYLEREF field. However, that field always refers to the first or last usage of a style on the page where the STYLEREF field appears. In Dawn's case, she wants words from the next page, not the current page.
The biggest problem, though, is the desire for the footer to update, dynamically, as editing occurs in the document. We've not been able to find a way to do this with the tools that Word provides. You can, if desired, create a macro that sets the footers, but there is a catch—because each page will have a different footer, you'll need to add a section break to the end of each page. This, of course, means that if you later add or delete text, you'll need to delete section breaks so they again match up with the end of each page.
Sound complicated? It can be, particularly if you have a document with many pages because such a document will require many section breaks. Even so, a macro similar to the following will help accomplish what you want:
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
The macro first removes all section breaks from the document, then it goes through each page of the document and figures out the first two words of each. It then steps pack a paragraph and adds a continuous section break and finally sets the footer for that section to be equal to the desired text. You should note that the footer is set equal to whatever is in the sFText variable followed by the first two words of the next page.
Understand that a macro such as this provides a "static" approach to the desired footer. This means that if you end up making changes to your document, you'll want to once again run the macro to update the footers.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (2835) applies to Microsoft Word 2007, 2010, 2013, and 2016.
The First and Last Word on Word! Bestselling For Dummies author Dan Gookin puts his usual fun and friendly candor back to work to show you how to navigate Word 2013. Spend more time working and less time trying to figure it all out! Check out Word 2013 For Dummies today!
When you insert a new section in your document, Word assumes you want the headers and footers in that section to be the same ...Discover More
Editing what is in your page header or footer is fairly easy, and you can use the same editing techniques you already know. ...Discover More
Getting a word count for an entire document is rather easy. If you want a word count for a special part of a document (such ...Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.