A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Word » Formatting Long Documents
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Autotext watermarks in multi-section documents



 
 
Thread Tools Display Modes
  #1  
Old October 26th, 2004, 07:24 PM
Chris J
external usenet poster
 
Posts: n/a
Default Autotext watermarks in multi-section documents

I am having difficulty with automated insertion of watermarks (eg
diagonal DRAFT) from Autotext. The theory seems to be that, by
inserting these in the header, each page of the document will be
watermarked. But this is not working in practice - I either get the
watermark on only some of the pages, or twice on one page
(superimposed) and not elsewhere.

A typical document where the problem arises is laid out as follows:
- Section break between sections 1 and 2 is on page 1 and continuous
(section 1 first page header contains a letterheading), section 1
primary header not visible because section 1 ends on page 1)
- Section 2 primary header is linked to previous (though behaviour
seems unchanged if I unlink it instead); section 2 doesn't have a
separate first page header, but if it did then presumably this too
would not be visible because first page of section 2 also contains
section 1. Section 2 continues to end of document (assume a 4-page
letter).

The essence of the code I am using (in English rather than VBA) says:
- go to section 2
- if there's a different first page header, go to the first page
header of section 2 and insert the autotext (but this is set to be
skipped for a document configured as described above)
- go to the primary header (here still in section 2) and insert the
autotext

If I leave it at that, I get the watermark only on page 1. (If I
don't set it to skip the stage mentioned, I get the watermark imposed
twice on page 1, and still not elsewhere.)

So I added further lines to say go to page 2 (still with section 2
primary header open) and insert the autotext. That gets the autotext
onto page 2 but not pages 3 and 4. If I extend the code to say repeat
for pages 3 and 4 (which should be irrelevant because they are in
section 2 just as page 2 is), the cursor returns (at the Go To line)
to a frame on page 1 (anchored in section 1), and the
autotext/watermark is then superimposed on the page 1 watermark
(actually rather untidily - one impression is not an exact
superimposition). Nothing happens on page 3 or page 4.

Can anyone explain what's going wrong here please? I could post the
extract of code if needed but I thought it would be easier to explain
as above in the first place.

Thanks

Chris J
  #2  
Old October 26th, 2004, 11:19 PM
Jezebel
external usenet poster
 
Posts: n/a
Default

Might be better if you posted the code: it sounds like a bug in the way you
are 'going to' the various headers.

This code iterates all the headers actually defined in your document --

Dim pRange as Word.Range
Dim pIndex as long

For pIndex = 1 to 3
Set pRange = ActiveDocument.StoryRanges(Choose(pIndex,
wdFirstPageHeaderStory, wdEvenPagesHeaderStory, wdOddPagesHeaderStory))
Do until pRange is nothing
... add the watermark to pRange
set pRange = pRange.NextStoryRange
Loop
Next





"Chris J" wrote in message
om...
I am having difficulty with automated insertion of watermarks (eg
diagonal DRAFT) from Autotext. The theory seems to be that, by
inserting these in the header, each page of the document will be
watermarked. But this is not working in practice - I either get the
watermark on only some of the pages, or twice on one page
(superimposed) and not elsewhere.

A typical document where the problem arises is laid out as follows:
- Section break between sections 1 and 2 is on page 1 and continuous
(section 1 first page header contains a letterheading), section 1
primary header not visible because section 1 ends on page 1)
- Section 2 primary header is linked to previous (though behaviour
seems unchanged if I unlink it instead); section 2 doesn't have a
separate first page header, but if it did then presumably this too
would not be visible because first page of section 2 also contains
section 1. Section 2 continues to end of document (assume a 4-page
letter).

The essence of the code I am using (in English rather than VBA) says:
- go to section 2
- if there's a different first page header, go to the first page
header of section 2 and insert the autotext (but this is set to be
skipped for a document configured as described above)
- go to the primary header (here still in section 2) and insert the
autotext

If I leave it at that, I get the watermark only on page 1. (If I
don't set it to skip the stage mentioned, I get the watermark imposed
twice on page 1, and still not elsewhere.)

So I added further lines to say go to page 2 (still with section 2
primary header open) and insert the autotext. That gets the autotext
onto page 2 but not pages 3 and 4. If I extend the code to say repeat
for pages 3 and 4 (which should be irrelevant because they are in
section 2 just as page 2 is), the cursor returns (at the Go To line)
to a frame on page 1 (anchored in section 1), and the
autotext/watermark is then superimposed on the page 1 watermark
(actually rather untidily - one impression is not an exact
superimposition). Nothing happens on page 3 or page 4.

Can anyone explain what's going wrong here please? I could post the
extract of code if needed but I thought it would be easier to explain
as above in the first place.

Thanks

Chris J



  #3  
Old October 27th, 2004, 01:21 PM
Chris J
external usenet poster
 
Posts: n/a
Default

OK, here is the relevant section "verbatim". I fear imposed line
length limit on postings will cause some lines to wrap around but I
trust this will be obvious and won't cause confusion. A few
explanations follow below the code

For R = SecStart To SecEnd
Selection.GoTo wdGoToSection, R 'ensure all sections get
Watermark
With ActiveDocument.Sections(R)
'insert watermark in first page header of section, if different
from primary section header
If .PageSetup.DifferentFirstPageHeaderFooter = True Then
'don't insert if header is same as previous section and
already inserted there
If R = SecStart _
Or .Headers(wdHeaderFooterFirstPage).LinkToPrevious =
False Then
If LetterDoc = False And BillDoc = False Then
'don't insert watermark in first page header of section 2 of
letters or bills
'continuous section break on first page: superimposition
results
ActiveWindow.ActivePane.View.SeekView =
wdSeekFirstPageHeader
Templates(PHBM).AutoTextEntries(ReqdAT) _
.Insert Whe=Selection.Range, RichText:=True
End If
End If
End If

'insert watermark in primary section header, if not same as
previous where already inserted
If R = SecStart _
Or .Headers(wdHeaderFooterPrimary).LinkToPrevious = False
Then
ActiveWindow.ActivePane.View.SeekView = wdSeekPrimaryHeader
Templates(PHBM).AutoTextEntries(ReqdAT) _
.Insert Whe=Selection.Range, RichText:=True
If LetterDoc = True Or (BillDoc = True And ReqdAT =
"WMDraft") Then
If Selection.Information(wdNumberOfPagesInDocument) 1
Then
Selection.GoTo What:=wdGoToPage, Which:=2
Templates(PHBM).AutoTextEntries(ReqdAT) _
.Insert Whe=Selection.Range, RichText:=True
Selection.GoTo What:=wdGoToSection, Which:=R
End If
End If
End If

'return to main document
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End With
Next R

Explanations: SecStart and SecEnd are the sections (varying according
to the custom template from which the document was prepared) from and
to which (inclusive) the watermark is to be inserted. LetterDoc and
BillDoc are, as you'll guess from the comment, boolean variables which
indicate particular custom templates. Other variables are probably
obvious.

Thanks for the interesting code - I'll defer trying anything based on
this pending further postings on this thread, but one comment at this
stage: where there is a continuous section break so that the page
where it appears is (in part) in each of two or more sections, there
would seem to be a risk that inserting the watermark into every header
in the document could lead to superimposition as I have experienced
already - so I'd possibly need to modify it anyway for that reason.
Do you agree? If you can see where my existing code goes wrong I
think I'd prefer to stick with that basic approach, suitably modified,
if it's not overly cumbersome.

Chris J




"Jezebel" wrote in message ...
Might be better if you posted the code: it sounds like a bug in the way you
are 'going to' the various headers.

This code iterates all the headers actually defined in your document --

Dim pRange as Word.Range
Dim pIndex as long

For pIndex = 1 to 3
Set pRange = ActiveDocument.StoryRanges(Choose(pIndex,
wdFirstPageHeaderStory, wdEvenPagesHeaderStory, wdOddPagesHeaderStory))
Do until pRange is nothing
... add the watermark to pRange
set pRange = pRange.NextStoryRange
Loop
Next





"Chris J" wrote in message
om...
I am having difficulty with automated insertion of watermarks (eg
diagonal DRAFT) from Autotext. The theory seems to be that, by
inserting these in the header, each page of the document will be
watermarked. But this is not working in practice - I either get the
watermark on only some of the pages, or twice on one page
(superimposed) and not elsewhere.

A typical document where the problem arises is laid out as follows:
- Section break between sections 1 and 2 is on page 1 and continuous
(section 1 first page header contains a letterheading), section 1
primary header not visible because section 1 ends on page 1)
- Section 2 primary header is linked to previous (though behaviour
seems unchanged if I unlink it instead); section 2 doesn't have a
separate first page header, but if it did then presumably this too
would not be visible because first page of section 2 also contains
section 1. Section 2 continues to end of document (assume a 4-page
letter).

The essence of the code I am using (in English rather than VBA) says:
- go to section 2
- if there's a different first page header, go to the first page
header of section 2 and insert the autotext (but this is set to be
skipped for a document configured as described above)
- go to the primary header (here still in section 2) and insert the
autotext

If I leave it at that, I get the watermark only on page 1. (If I
don't set it to skip the stage mentioned, I get the watermark imposed
twice on page 1, and still not elsewhere.)

So I added further lines to say go to page 2 (still with section 2
primary header open) and insert the autotext. That gets the autotext
onto page 2 but not pages 3 and 4. If I extend the code to say repeat
for pages 3 and 4 (which should be irrelevant because they are in
section 2 just as page 2 is), the cursor returns (at the Go To line)
to a frame on page 1 (anchored in section 1), and the
autotext/watermark is then superimposed on the page 1 watermark
(actually rather untidily - one impression is not an exact
superimposition). Nothing happens on page 3 or page 4.

Can anyone explain what's going wrong here please? I could post the
extract of code if needed but I thought it would be easier to explain
as above in the first place.

Thanks

Chris J

  #4  
Old October 27th, 2004, 01:52 PM
Jezebel
external usenet poster
 
Posts: n/a
Default

There's no problem about superimpostion simply by inserting the watermark in
every header: only one header gets shown on the page, no matter how many
section breaks there might be on the page. The header and footer displayed
on a page are those for the first section on that page.

A lot of your code will be unnecessary if you simply iterate the StoryRanges
as in the snippet I posted: if you have a series sections, each with its
header 'linked to previous', then there is only one header -- as you will
see if you iterate the StoryRanges list. Hence all that checking whether
Link to Previous is set or whether the sections breaks are continuous will
be unnecessary.


"Chris J" wrote in message
om...
OK, here is the relevant section "verbatim". I fear imposed line
length limit on postings will cause some lines to wrap around but I
trust this will be obvious and won't cause confusion. A few
explanations follow below the code

For R = SecStart To SecEnd
Selection.GoTo wdGoToSection, R 'ensure all sections get
Watermark
With ActiveDocument.Sections(R)
'insert watermark in first page header of section, if different
from primary section header
If .PageSetup.DifferentFirstPageHeaderFooter = True Then
'don't insert if header is same as previous section and
already inserted there
If R = SecStart _
Or .Headers(wdHeaderFooterFirstPage).LinkToPrevious =
False Then
If LetterDoc = False And BillDoc = False Then
'don't insert watermark in first page header of section 2 of
letters or bills
'continuous section break on first page: superimposition
results
ActiveWindow.ActivePane.View.SeekView =
wdSeekFirstPageHeader
Templates(PHBM).AutoTextEntries(ReqdAT) _
.Insert Whe=Selection.Range, RichText:=True
End If
End If
End If

'insert watermark in primary section header, if not same as
previous where already inserted
If R = SecStart _
Or .Headers(wdHeaderFooterPrimary).LinkToPrevious = False
Then
ActiveWindow.ActivePane.View.SeekView = wdSeekPrimaryHeader
Templates(PHBM).AutoTextEntries(ReqdAT) _
.Insert Whe=Selection.Range, RichText:=True
If LetterDoc = True Or (BillDoc = True And ReqdAT =
"WMDraft") Then
If Selection.Information(wdNumberOfPagesInDocument) 1
Then
Selection.GoTo What:=wdGoToPage, Which:=2
Templates(PHBM).AutoTextEntries(ReqdAT) _
.Insert Whe=Selection.Range, RichText:=True
Selection.GoTo What:=wdGoToSection, Which:=R
End If
End If
End If

'return to main document
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End With
Next R

Explanations: SecStart and SecEnd are the sections (varying according
to the custom template from which the document was prepared) from and
to which (inclusive) the watermark is to be inserted. LetterDoc and
BillDoc are, as you'll guess from the comment, boolean variables which
indicate particular custom templates. Other variables are probably
obvious.

Thanks for the interesting code - I'll defer trying anything based on
this pending further postings on this thread, but one comment at this
stage: where there is a continuous section break so that the page
where it appears is (in part) in each of two or more sections, there
would seem to be a risk that inserting the watermark into every header
in the document could lead to superimposition as I have experienced
already - so I'd possibly need to modify it anyway for that reason.
Do you agree? If you can see where my existing code goes wrong I
think I'd prefer to stick with that basic approach, suitably modified,
if it's not overly cumbersome.

Chris J




"Jezebel" wrote in message

...
Might be better if you posted the code: it sounds like a bug in the way

you
are 'going to' the various headers.

This code iterates all the headers actually defined in your document --

Dim pRange as Word.Range
Dim pIndex as long

For pIndex = 1 to 3
Set pRange = ActiveDocument.StoryRanges(Choose(pIndex,
wdFirstPageHeaderStory, wdEvenPagesHeaderStory, wdOddPagesHeaderStory))
Do until pRange is nothing
... add the watermark to pRange
set pRange = pRange.NextStoryRange
Loop
Next





"Chris J" wrote in message
om...
I am having difficulty with automated insertion of watermarks (eg
diagonal DRAFT) from Autotext. The theory seems to be that, by
inserting these in the header, each page of the document will be
watermarked. But this is not working in practice - I either get the
watermark on only some of the pages, or twice on one page
(superimposed) and not elsewhere.

A typical document where the problem arises is laid out as follows:
- Section break between sections 1 and 2 is on page 1 and continuous
(section 1 first page header contains a letterheading), section 1
primary header not visible because section 1 ends on page 1)
- Section 2 primary header is linked to previous (though behaviour
seems unchanged if I unlink it instead); section 2 doesn't have a
separate first page header, but if it did then presumably this too
would not be visible because first page of section 2 also contains
section 1. Section 2 continues to end of document (assume a 4-page
letter).

The essence of the code I am using (in English rather than VBA) says:
- go to section 2
- if there's a different first page header, go to the first page
header of section 2 and insert the autotext (but this is set to be
skipped for a document configured as described above)
- go to the primary header (here still in section 2) and insert the
autotext

If I leave it at that, I get the watermark only on page 1. (If I
don't set it to skip the stage mentioned, I get the watermark imposed
twice on page 1, and still not elsewhere.)

So I added further lines to say go to page 2 (still with section 2
primary header open) and insert the autotext. That gets the autotext
onto page 2 but not pages 3 and 4. If I extend the code to say repeat
for pages 3 and 4 (which should be irrelevant because they are in
section 2 just as page 2 is), the cursor returns (at the Go To line)
to a frame on page 1 (anchored in section 1), and the
autotext/watermark is then superimposed on the page 1 watermark
(actually rather untidily - one impression is not an exact
superimposition). Nothing happens on page 3 or page 4.

Can anyone explain what's going wrong here please? I could post the
extract of code if needed but I thought it would be easier to explain
as above in the first place.

Thanks

Chris J



  #5  
Old October 28th, 2004, 07:39 PM
Chris J
external usenet poster
 
Posts: n/a
Default

Thanks very much for the reassurance, and for the code extract. It
works like a dream - though I did first have to change
wdOddPagesHeaderStory to wdPrimaryHeaderStory as otherwise I got a
compile error! I'm most grateful - as you say, a lot of previous code
can be dispensed with.

Chris J

"Jezebel" wrote in message ...
There's no problem about superimpostion simply by inserting the watermark in
every header: only one header gets shown on the page, no matter how many
section breaks there might be on the page. The header and footer displayed
on a page are those for the first section on that page.

A lot of your code will be unnecessary if you simply iterate the StoryRanges
as in the snippet I posted: if you have a series sections, each with its
header 'linked to previous', then there is only one header -- as you will
see if you iterate the StoryRanges list. Hence all that checking whether
Link to Previous is set or whether the sections breaks are continuous will
be unnecessary.


"Chris J" wrote in message
om...
OK, here is the relevant section "verbatim". I fear imposed line
length limit on postings will cause some lines to wrap around but I
trust this will be obvious and won't cause confusion. A few
explanations follow below the code

For R = SecStart To SecEnd
Selection.GoTo wdGoToSection, R 'ensure all sections get
Watermark
With ActiveDocument.Sections(R)
'insert watermark in first page header of section, if different
from primary section header
If .PageSetup.DifferentFirstPageHeaderFooter = True Then
'don't insert if header is same as previous section and
already inserted there
If R = SecStart _
Or .Headers(wdHeaderFooterFirstPage).LinkToPrevious =
False Then
If LetterDoc = False And BillDoc = False Then
'don't insert watermark in first page header of section 2 of
letters or bills
'continuous section break on first page: superimposition
results
ActiveWindow.ActivePane.View.SeekView =
wdSeekFirstPageHeader
Templates(PHBM).AutoTextEntries(ReqdAT) _
.Insert Whe=Selection.Range, RichText:=True
End If
End If
End If

'insert watermark in primary section header, if not same as
previous where already inserted
If R = SecStart _
Or .Headers(wdHeaderFooterPrimary).LinkToPrevious = False
Then
ActiveWindow.ActivePane.View.SeekView = wdSeekPrimaryHeader
Templates(PHBM).AutoTextEntries(ReqdAT) _
.Insert Whe=Selection.Range, RichText:=True
If LetterDoc = True Or (BillDoc = True And ReqdAT =
"WMDraft") Then
If Selection.Information(wdNumberOfPagesInDocument) 1
Then
Selection.GoTo What:=wdGoToPage, Which:=2
Templates(PHBM).AutoTextEntries(ReqdAT) _
.Insert Whe=Selection.Range, RichText:=True
Selection.GoTo What:=wdGoToSection, Which:=R
End If
End If
End If

'return to main document
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End With
Next R

Explanations: SecStart and SecEnd are the sections (varying according
to the custom template from which the document was prepared) from and
to which (inclusive) the watermark is to be inserted. LetterDoc and
BillDoc are, as you'll guess from the comment, boolean variables which
indicate particular custom templates. Other variables are probably
obvious.

Thanks for the interesting code - I'll defer trying anything based on
this pending further postings on this thread, but one comment at this
stage: where there is a continuous section break so that the page
where it appears is (in part) in each of two or more sections, there
would seem to be a risk that inserting the watermark into every header
in the document could lead to superimposition as I have experienced
already - so I'd possibly need to modify it anyway for that reason.
Do you agree? If you can see where my existing code goes wrong I
think I'd prefer to stick with that basic approach, suitably modified,
if it's not overly cumbersome.

Chris J




"Jezebel" wrote in message

...
Might be better if you posted the code: it sounds like a bug in the way

you
are 'going to' the various headers.

This code iterates all the headers actually defined in your document --

Dim pRange as Word.Range
Dim pIndex as long

For pIndex = 1 to 3
Set pRange = ActiveDocument.StoryRanges(Choose(pIndex,
wdFirstPageHeaderStory, wdEvenPagesHeaderStory, wdOddPagesHeaderStory))
Do until pRange is nothing
... add the watermark to pRange
set pRange = pRange.NextStoryRange
Loop
Next





"Chris J" wrote in message
om...
I am having difficulty with automated insertion of watermarks (eg
diagonal DRAFT) from Autotext. The theory seems to be that, by
inserting these in the header, each page of the document will be
watermarked. But this is not working in practice - I either get the
watermark on only some of the pages, or twice on one page
(superimposed) and not elsewhere.

A typical document where the problem arises is laid out as follows:
- Section break between sections 1 and 2 is on page 1 and continuous
(section 1 first page header contains a letterheading), section 1
primary header not visible because section 1 ends on page 1)
- Section 2 primary header is linked to previous (though behaviour
seems unchanged if I unlink it instead); section 2 doesn't have a
separate first page header, but if it did then presumably this too
would not be visible because first page of section 2 also contains
section 1. Section 2 continues to end of document (assume a 4-page
letter).

The essence of the code I am using (in English rather than VBA) says:
- go to section 2
- if there's a different first page header, go to the first page
header of section 2 and insert the autotext (but this is set to be
skipped for a document configured as described above)
- go to the primary header (here still in section 2) and insert the
autotext

If I leave it at that, I get the watermark only on page 1. (If I
don't set it to skip the stage mentioned, I get the watermark imposed
twice on page 1, and still not elsewhere.)

So I added further lines to say go to page 2 (still with section 2
primary header open) and insert the autotext. That gets the autotext
onto page 2 but not pages 3 and 4. If I extend the code to say repeat
for pages 3 and 4 (which should be irrelevant because they are in
section 2 just as page 2 is), the cursor returns (at the Go To line)
to a frame on page 1 (anchored in section 1), and the
autotext/watermark is then superimposed on the page 1 watermark
(actually rather untidily - one impression is not an exact
superimposition). Nothing happens on page 3 or page 4.

Can anyone explain what's going wrong here please? I could post the
extract of code if needed but I thought it would be easier to explain
as above in the first place.

Thanks

Chris J

 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Header & Section breaks JenPrl Page Layout 4 September 17th, 2004 08:55 PM
autotext losing style association Stefan Blom General Discussion 2 July 21st, 2004 03:16 PM
Index and section breaks raj Page Layout 0 May 31st, 2004 10:01 AM
Two versions again-language issue Otto Setup, Installing & Configuration 3 May 28th, 2004 04:57 AM


All times are GMT +1. The time now is 05:38 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.