From: Jamie Collins on
I have the following VBA code to copy some text from between Word documents
(I'm familiar with VBA but not the Word object library):

Const PLACEHOLDER_TEXT As String = "||ADD TEXT HERE||"

' Copy from source to clipboard
docSource.Activate
docSource.Sections(x).Range.Copy

' Paste from clipboard to target
docTarget.Activate
Selection.Find.Execute PLACEHOLDER_TEXT, , , , , , True,
WdFindWrap.wdFindContinue
Selection.Paste

What I want is for the section's formatted text to be copied/pasted into the
existing section in the target document so that the headers/footers in the
target document are preserved.

However, what seems to be happening is that the copied text is pasted as a
new Section object including the now empty headers/footers.

In other words, I want the formatting (fonts, tables, borders, etc) from the
source document but not the headers/footers. Is this possible? Thanks
From: Jamie Collins on
It seems the root of the problem is that selecting the Section.Range object
included the page break.

The fix I'm going with is to move the selection end of the back until the
end character is anything other than ASCII 0012 or 0013 e.g.

Replace this:

docSource.Sections(x).Range.Copy

....with this:

docSource.Sections(x).Range.Select
Do While (Asc(Right$(Selection.Range.Text, 1)) = 12 Or
Asc(Right$(Selection.Range.Text, 1)) = 13)
docSource.Range(Selection.Start, Selection.End - 1).Select
Loop
Selection.Copy

No doubt there are betters way of doing this things than using the clipboard
and the Selection object but this will do for now :)

"Jamie Collins" wrote:

> I have the following VBA code to copy some text from between Word documents
> (I'm familiar with VBA but not the Word object library):
>
> Const PLACEHOLDER_TEXT As String = "||ADD TEXT HERE||"
>
> ' Copy from source to clipboard
> docSource.Activate
> docSource.Sections(x).Range.Copy
>
> ' Paste from clipboard to target
> docTarget.Activate
> Selection.Find.Execute PLACEHOLDER_TEXT, , , , , , True,
> WdFindWrap.wdFindContinue
> Selection.Paste
>
> What I want is for the section's formatted text to be copied/pasted into the
> existing section in the target document so that the headers/footers in the
> target document are preserved.
>
> However, what seems to be happening is that the copied text is pasted as a
> new Section object including the now empty headers/footers.
>
> In other words, I want the formatting (fonts, tables, borders, etc) from the
> source document but not the headers/footers. Is this possible? Thanks