我需要格式化(隐藏)以某个单词开头的所有段落。我使用了查找替换
'----set replacement format
Selection.Find.Replacement.ClearFormatting
With Selection.Find.Replacement.font
.Size = 9
.Color = wdColorTurquoise colour
.Hidden = True
End With
'----"COMPARE" AT START OF LINE
With Selection.Find
.text = "^13Compare: *^13" 'TODO: need to apply format to PART-exclude 1st para mark!
.Replacement.text = "" 'keeps original string, just applies repl format to it
.Forward = True
.Wrap = wdFindStop
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
为了找到它们,我必须搜索"^13String*^13"
,以避免在其他地方出现相同的字符串。
但是如果我隐藏整个查找字符串,前一段末尾的段落标记就会丢失。
有没有办法改变除第一个 ^13 之外的所有内容的格式?
答案1
如果您不使用查找和替换,而是循环遍历文档中的所有段落,检查第一个单词是否为“比较:”,如果是,则将该段落的字体设置为隐藏,会怎么样?
Dim par As Paragraph
For Each par In ActiveDocument.Paragraphs
If InStr(1, par.Range.Text, "Compare:") = 1 Then par.Range.Font.Hidden = True
Next