Prev: edit footnote or endnote separator in word 2007
Next: stop extra spaces in text? Word xp. formated font/para ok
From: Jamie Collins on 27 Apr 2010 11:15 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 28 Apr 2010 04:31
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 |