在一个文本范围内查找指定的文本,并返回 TextRange 对象,该对象代表找到该文本的第一个文本范围。如果找不到指定的文本,则返回 Nothing。
expression.Find(FindWhat, After, MatchCase, WholeWords)
expression 必选。该表达式返回一个 TextRange 对象。
FindWhat 必选。String 类型。要搜索的文本。
After 可选。Long 类型。指定文本范围内的特定字符位置,在该字符后搜索 FindWhat 的下一次匹配。例如,如果要从文本范围的第五个字符后开始搜索,可指定 After 为 4。如果忽略此参数,则将文本范围的第一个字符作为搜索的起点。
MatchCase 可选。MsoTriState 类型。属性值为 MsoTrue 时,搜索区分大小写字符。
MsoTriState 可以是下列 MsoTriState 类型常数之一。 |
msoCTrue |
msoFalse 默认值。 |
msoTriStateMixed |
msoTriStateToggle |
msoTrue 搜索匹配 FindWhat 参数中的字母大小写。 |
WholeWords 可选。MsoTriState 类型。属性值为 MsoTrue 时,搜索仅查找完整单词,而非较长单词的一部分。
MsoTriState 可以是下列 MsoTriState 类型常数之一。 |
msoCTrue |
msoFalse 默认值。 |
msoTriStateMixed |
msoTriStateToggle |
msoTrue 搜索仅查找完整单词,而非较长单词的一部分。 |
本示例在当前演示文稿中查找所有“CompanyX”字符串,并将其格式设为加粗。
For Each sld In Application.ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.HasTextFrame Then
Set txtRng = shp.TextFrame.TextRange
Set foundText = txtRng.Find(FindWhat:="CompanyX")
Do While Not (foundText Is Nothing)
With foundText
.Font.Bold = True
Set foundText = _
txtRng.Find(FindWhat:="CompanyX", _
After:=.Start + .Length - 1)
End With
Loop
End If
Next
Next