Word VBA:While 循环执行直到什么也没找到

问题描述

我在 ms word 中有一个执行查找操作的 vba 代码

它会找到具有特定颜色的线条。转到该行的开头 从剪贴板粘贴到行尾。

Selection.Find.ClearFormatting
Selection.Find.Font.Color = wdColorDarkRed
With Selection.Find
    .Text = ""
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchKashida = False
    .MatchDiacritics = False
    .MatchAlefHamza = False
    .MatchControl = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.HomeKey Unit:=wdLine
Selection.PasteAndFormat (wdFormatOriginalFormatting)

我不太懂编码。只想执行此查找操作,直到找到所有行并且没有任何内容为止。也许是 if 或 while 循环?

解决方法

将您想要复制的任何内容复制到剪贴板,然后使用普通的查找/替换,其中:

Find = your font colour
Replace = ^c^&

并选择全部替换。

无需代码,但您可以将其记录为宏。也不需要循环。