Vba 使用查找word文档中的word
我有一个word文档包含一些百分比数字。例如,本月回报率为1.25%。“我想用黄色背景色突出显示百分比数字。以下代码查找模式1或2位数字,后跟一个点,后跟1或2位数字,后跟%并突出显示它(例如1.2%、1.23%、12.3%或12.34%): 这一个查找后跟%的模式1或2位数,并将其高亮显示(例如1%,12%): 希望这能满足你的需要 编辑: 如果您还想在数字前面突出显示负号,我建议您这样做,以避免一次又一次地复制代码:Vba 使用查找word文档中的word,vba,ms-word,Vba,Ms Word,我有一个word文档包含一些百分比数字。例如,本月回报率为1.25%。“我想用黄色背景色突出显示百分比数字。以下代码查找模式1或2位数字,后跟一个点,后跟1或2位数字,后跟%并突出显示它(例如1.2%、1.23%、12.3%或12.34%): 这一个查找后跟%的模式1或2位数,并将其高亮显示(例如1%,12%): 希望这能满足你的需要 编辑: 如果您还想在数字前面突出显示负号,我建议您这样做,以避免一次又一次地复制代码: Public MyPattern As String Sub MainS
Public MyPattern As String
Sub MainSub()
MyPattern = "[0-9]{1,2}.[0-9]{1,2}%"
HighlightPattern
MyPattern = "[0-9]{1,2}%"
HighlightPattern
MyPattern = "-[0-9]{1,2}.[0-9]{1,2}%"
HighlightPattern
MyPattern = "-[0-9]{1,2}%"
HighlightPattern
End Sub
Sub HighlightPattern()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Highlight = True
With Selection.Find
.Text = MyPattern
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
你能精确一点你的目标和你文档的内容吗?文档的长度,里面有很多数字吗?你想突出显示所有数字还是只突出显示带%?还有,到目前为止你做了什么?我想突出显示所有数字,这是一个10页的文档。我试图找到“%“在文档中,但不知道如何选择整个数字(1.25%)。谢谢Remi,我可以在查找文本中加上负数吗?这里我们查找文本字符,这样你就不能真正地考虑正负号,但是用字符来查看:你可以通过在<代码>中的参数中加上负号来做它。文本< /代码>部分:给你:<代码> -[09] {1,2}。[09] {1,2} %“< /代码>和代码>”-[09] {1,2}%在这种情况下,您必须复制代码段落。一个好方法是只写一段带有变量
.Text
的段落
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Highlight = True
With Selection.Find
.Text = "[0-9]{1,2}%"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Public MyPattern As String
Sub MainSub()
MyPattern = "[0-9]{1,2}.[0-9]{1,2}%"
HighlightPattern
MyPattern = "[0-9]{1,2}%"
HighlightPattern
MyPattern = "-[0-9]{1,2}.[0-9]{1,2}%"
HighlightPattern
MyPattern = "-[0-9]{1,2}%"
HighlightPattern
End Sub
Sub HighlightPattern()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Highlight = True
With Selection.Find
.Text = MyPattern
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub