Sometimes it's necessary to replace placeholders (e.g. <content_placeholder1>) in a Word document with some generated or imported content using VBA macro. Just replacing the placeholder text via Selection.Find.Execute Replace:=wdReplaceAll will not move a cursor, you need to do it as a separate step like below:
Sub moveToPlaceholder(tableName As String)
Dim placeholderText As String
placeholderText = "<" & tableName & ">"
' first find
With Selection.Find
.Text = placeholderText
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.Execute
End With
' now move cursor at the
Selection.EndKey Unit:=wdLine
' now replace
With Selection.Find
.Text = placeholderText
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.Execute Replace:=wdReplaceAll
End With
End Sub
No comments:
Post a Comment