What field shows "ThisPage of ThisSection"?

E

Ed from AZ

I am trying to set up an IF field in Word 2003. It needs to say:
"IF this is Page 1 of ThisSection, "THIS", IF this is LastPage of
ThisSection, "THAT", "OTHER"

But I'm having difficulty finding a field (or combination thereof?)
that will give me the page number of the section I'm in.

A drop-kick in the right direction would be appreciated.

Ed
 
M

macropod

Hi Ed,

Word doesn't have a field for returning each page# for a given Section. However, you could use the following field code in the
header or footer:
{QUOTE{IF{PAGE}= 1 {SET Section0 0}}{IF{PAGE}={NUMPAGES} "Last Page" {IF{={SECTIONPAGES}+{REF {QUOTE Section{={SECTION}-1}}}}={PAGE}
"{SET {QUOTE Section{SECTION}} {PAGE}}Last Page" {IF{={PAGE}-{REF {QUOTE Section{={SECTION}-1}}}}= 1 "First Page" "Other Page"}}}}

How this works:
The field creates a series of bookmarks named Section# (where # is the Section number) and assigns the corresponding Section's
SECTIONPAGES count to them. The code to do this is {SET {QUOTE Section{SECTION}} {PAGE}}, and is only executed on the last page of
each Section.
The code then deducts the previous Section's page count from the current page number to determine the current Section page#.
If the current Section page# equals the Section page count, 'Last Page' is displayed; otherwise if the current Section page# equals
1, 'First Page' is displayed; otherwise 'Other Page' is displayed.
The {SET Section0 0} field is needed on the first page of the document because there's no Section 0 and the code would generate an
error without it
The IF{PAGE}={NUMPAGES} test is needed to prevent the code adding an unwanted bookmark for the last Section; otherwise the output
for the last Section becomes unstable.

Cheers
 
M

macropod

Hi Ed,

BTW, is there a reason you can't unlink each Section from the previous one and set the page numbering for each Section to start from
1? Although it's perhaps more fiddly to maintain, you could then greatly simplify the field coding:
{IF{PAGE}= 1 "First Page" {IF{PAGE}= {SECTIONPAGES} "Last Page" "Other Page"}}

Cheers
 
E

Ed from AZ

Hi, macropod.

No, I can't restart the page numbering - this is a landscape section
in the middle of a report that's holding a table that will flow over
several pages. I need to change the table header depending on which
page I'm on. Hence, the IF with the criteria dependent on the page of
that section.

Is there a way to copy and paste this field code into the Word doc and
replace the curlys with the CTRL+F9 brackets? Saves a lot of "it
won't work because I fumbled my typing" frustrations!! 8>)

Thanks for the boost!
Ed
 
E

Ed from AZ

Okay - just tried it.

In the header of a new doc with two sections, it works great to
identify each page of each section as "First", "Last", or "Other".

In my report, though, it bombs! I can't get anything besides "Other
Page". I copied the code directly over - nothing changed in the
translation (I think)??

{QUOTE{IF{PAGE}= 1 {SET Section0 0}}{IF{PAGE}={NUMPAGES} "Last
Page" {IF{={SECTIONPAGES}+{REF {QUOTE Section{={SECTION}-1}}}}={PAGE}
"{SET {QUOTE Section{SECTION}} {PAGE}}Last Page" {IF{={PAGE}-{REF
{QUOTE Section{={SECTION}-1}}}}= 1 "First Page" "Other Page"}}}}

Any hints for troubleshooting why?

Ed
 
M

macropod

Hi Ed,

The code will only work if it's in the document header/footer. If you've got it working correctly in one document, then copying &
pasting it into another document should work correctly too.

For your landscape pages, you may need to put a text box into the header/footer, format it so that it is the height of the page but
only the width of the normal header, rotate the text 90 degrees and paste the field code into the text box.

Cheers
--
macropod
[MVP - Microsoft Word]
-------------------------

Okay - just tried it.

In the header of a new doc with two sections, it works great to
identify each page of each section as "First", "Last", or "Other".

In my report, though, it bombs! I can't get anything besides "Other
Page". I copied the code directly over - nothing changed in the
translation (I think)??

{QUOTE{IF{PAGE}= 1 {SET Section0 0}}{IF{PAGE}={NUMPAGES} "Last
Page" {IF{={SECTIONPAGES}+{REF {QUOTE Section{={SECTION}-1}}}}={PAGE}
"{SET {QUOTE Section{SECTION}} {PAGE}}Last Page" {IF{={PAGE}-{REF
{QUOTE Section{={SECTION}-1}}}}= 1 "First Page" "Other Page"}}}}

Any hints for troubleshooting why?

Ed
 
E

Ed from AZ

Thanks for sticking with me. I'll work on it ans see what I can come
up with.

Ed


Hi Ed,

The code will only work if it's in the document header/footer. If you've got it working correctly in one document, then copying &
pasting it into another document should work correctly too.

For your landscape pages, you may need to put a text box into the header/footer, format it so that it is the height of the page but
only the width of the normal header, rotate the text 90 degrees and paste the field code into the text box.

Cheers
--
macropod
[MVP - Microsoft Word]
-------------------------

Okay - just tried it.

In the header of a new doc with two sections, it works great to
identify each page of each section as "First", "Last", or "Other".

In my report, though, it bombs!  I can't get anything besides "Other
Page".  I copied the code directly over - nothing changed in the
translation (I think)??

{QUOTE{IF{PAGE}= 1 {SET Section0 0}}{IF{PAGE}={NUMPAGES} "Last
Page" {IF{={SECTIONPAGES}+{REF {QUOTE Section{={SECTION}-1}}}}={PAGE}
"{SET {QUOTE Section{SECTION}} {PAGE}}Last Page" {IF{={PAGE}-{REF
{QUOTE Section{={SECTION}-1}}}}= 1 "First Page" "Other Page"}}}}

Any hints for troubleshooting why?

Ed

Hi, macropod.
No, I can't restart the page numbering - this is a landscape section
in the middle of a report that's holding a table that will flow over
several pages. I need to change the table header depending on which
page I'm on. Hence, the IF with the criteria dependent on the page of
that section.
Is there a way to copy and paste this field code into the Word doc and
replace the curlys with the CTRL+F9 brackets? Saves a lot of "it
won't work because I fumbled my typing" frustrations!! 8>)
Thanks for the boost!
Ed
- Show quoted text -- Hide quoted text -

- Show quoted text -
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top