Problem with line numbering and footers

H

Herman

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?

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?

Regards.
 
S

Stefan Blom

in message
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 (Format>Paragraph, 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
(Format>Paragraph, Line and Page Breaks tab) to the paragraph
containing the character-styled text.
 
S

Suzanne S. Barnhill

I don't believe a StyleRef field, even with the \l switch, will work here
because it is based on text on the current page, not the next page.
 
T

Tony Jollans

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.
 
S

Suzanne S. Barnhill

When I try it, using three pages of dummy text with a character style
applied to the first word on each page, I get the following results:

Page 1: First word on page 2
Page 2: First word on page 2
Page 3: First word on page 3

I would actually expect page 1 to show the first word on page 1 as well
because the \l switch causes Word to search *the page* from bottom to top,
picking up the *last* appearance of the style *on the page.*

This is in Word 2003 SP2.
 
S

Stefan Blom

I just read the help topic again. My initial interpretation of the
help text was wrong; since StyleRef begings the search on the page it
is on, it should pick up the text in the first paragraph (and never
look on subsequent pages), no matter if the \l switch is used. You are
quite right about that!

However, I also tested again, in Word 2000, and I found that it does
behave the way I described in a previous message.

FWIW, even though I used a character style, the result also seems to
depend on the presence of paragraph marks in each paragraph where the
style is used. When I quickly created three pages by inserting section
breaks, I couldn't get the field (on any of the pages) to show
anything but the very *last* piece of text. Pressing Enter before each
break fixed that.

--
Stefan Blom
Microsoft Word MVP


in message
 
S

Suzanne S. Barnhill

My test did not include any manual page breaks. I just inserted two blocks
of lorem ipsum text (enough to run onto a third page). It's possible that
the behavior in Word 2000 is actually a "bug" (since it is not behaving as
designed) that was corrected in a later version.
 
S

Stefan Blom

Suzanne S. Barnhill said:
It's possible that
the behavior in Word 2000 is actually a "bug" (since it is not
behaving as
designed) that was corrected in a later version.

Agreed.

--
Stefan Blom
Microsoft Word MVP


in message
 
Top