我需要一些帮助。我有一些代码可以复制Excel工作表中的过滤范围并将其粘贴到Word中的各个位置,以替换特定的单词。问题是,当我不使用wdReplaceAll
时,似乎使用目标格式(一次)粘贴值。但是,当我使用ReplaceAll时,会包含源Excel格式,这是我不想要的。现在,我尝试使用ReplaceAll坚持使用一种特定的格式,该格式不起作用,但坦率地说,我希望使用目标格式。有人可以帮忙吗?:
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "What"
.Replacement.Text = "^c"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.PasteAndFormat (wdFormatPlainText)
答案 0 :(得分:0)
最简单的方法是在执行代码之前定义范围对象,例如:
set rng = Selection.FormattedText
然后在执行ReplaceAll之后,选择范围并应用所需的任何样式,例如:
rng.Select
Selection.Style = ActiveDocument.Styles("Normal")