View Single Post
  #4   Report Post  
Posted to microsoft.public.word.pagelayout
Tony Jollans
 
Posts: n/a
Default Problem with line numbering and footers

The second problem is that the footer of every page must be the
first word of the next page. Is there an easy way to do this?


This technique for having page-level footers is shamelessly stolen from
poster "ML" in the word.vba.general newsgroup but I like it and am sure it
has potential.

The technique for extracting the first word on the page is suspect but I
hope will work.

In your Footer put the following:

{ If { Page } { NumPages } { DocVariable "P{ Page }" } }

Before saving, or printing, or whenever you want this to happen run this
code:

Sub GetFirstWordOnPage()

Dim oPage As Page
Dim oRect As Rectangle

Dim PageNo As Long

For Each oPage In ActiveWindow.ActivePane.Pages
For Each oRect In oPage.Rectangles

If oRect.RectangleType = wdTextRectangle Then
If oRect.Range.StoryType = wdMainTextStory Then

On Error Resume Next
ActiveDocument.Variables("P" & PageNo).Delete
On Error GoTo 0

ActiveDocument.Variables.Add "P" & PageNo, _
oRect.Range.Words(1)
Exit For

End If
End If

Next
PageNo = PageNo + 1
Next

End Sub

You'll need to ensure fields are updated for it to show. The code could be
amended to do that, or you could set the option to update fields before
printing.

--
Enjoy,
Tony


"Stefan Blom" wrote in message
...
"Herman" wrote in message
oups.com...
Good day,

I work with MS Word documents on a daily basis that is 100+ pages.
The
formatting they require specify that the line numbering must be on
the
right hand side of the page. Word can only place it on the left
side. I
have created a text box linked to the header with the line numbering
on
the right. Does anybody know of another way to do this?


I'm afraid there is no other method. If you find it difficult to get
your custom line numbers to line up with text, consider specifying a
fixed amount of line spacing (FormatParagraph, Indents and Spacing
tab) for the text in the text box as well as for the text in the main
body of the document.

The second problem is that the footer of every page must be the
first word of the next page. Is there an easy way to do this?


Create a character style (with no formatting, based on "underlying
properties") and apply it to the first word of each page. Then add the
STYLEREF "characterstylename_here" \l (backslash followed by lowercase
"L") field to the footer.

Note that you cannot control which word is in fact the first on a
page, since pages are created dynamically by Word as you add and
remove text, so you'd better apply the style when document formatting
is done (and you know what printer driver it will be used with).
Alternatively, also add "Page break before" formatting
(FormatParagraph, Line and Page Breaks tab) to the paragraph
containing the character-styled text.

--
Stefan Blom
Microsoft Word MVP