在文本范围内查找特定文本,用指定字符串替换查找到的文本,返回代表查找到的第一个文本内容的 TextRange 对象。如果找不到匹配的内容,则返回 Nothing。
expression.Replace(FindWhat, ReplaceWhat, After, MatchCase, WholeWords)
expression 必选。该表达式返回上述对象之一。
FindWhat 必选。String 类型。要搜索的文本。
ReplaceWhat 必选。String 类型。要替换查找文本的文本。
After 可选。Integer 类型。字符(在指定文本范围内)的位置,从该字符后开始搜索 FindWhat 的下一个内容。例如,如果要从文本内容的第五个字符开始搜索,指定 After 为 4。如果省略此参数,将从文本范围的第一个字符开始搜索。
MatchCase 可选。MsoTriState 类型。决定搜索时是否区分大小写。
MsoTriState 可以是下列 MsoTriState 类型常数之一。 |
msoCTrue |
msoFalse 默认。 |
msoTriStateMixed |
msoTriStateToggle |
msoTrue 区分字符的大小写。 |
WholeWords 可选。MsoTriState 类型。决定是否只查找完整的单词。
MsoTriState 可以是下列 MsoTriState 类型常数之一。 |
msoCTrue |
msoFalse 默认。 |
msoTriStateMixed |
msoTriStateToggle |
msoTrue 只查找完整的单词,不包括大单词的部分字符。 |
替换 Fonts 集合中的一个字体。
expression.Replace(Original, Replacement)
expression 必选。该表达式返回上述对象之一。
Original 必选。String 类型。要替换的字体名称。
Replacement 必选。String 类型。替换字体的名称。
本示例将当前演示文稿中所有形状的每个完整单词“like”替换为“NOT LIKE”。
Sub ReplaceText()
Dim oSld As Slide
Dim oShp As Shape
Dim oTxtRng As TextRange
Dim oTmpRng As TextRange
Set oSld = Application.ActivePresentation.Slides(1)
For Each oShp In oSld.Shapes
Set oTxtRng = oShp.TextFrame.TextRange
Set oTmpRng = oTxtRng.Replace(FindWhat:="like", _
Replacewhat:="NOT LIKE", WholeWords:=True)
Do While Not oTmpRng Is Nothing
Set oTxtRng = oTxtRng.Characters(oTmpRng.Start + oTmpRng.Length, _
oTxtRng.Length)
Set oTmpRng = oTxtRng.Replace(FindWhat:="like", _
Replacewhat:="NOT LIKE", WholeWords:=True)
Loop
Next oShp
End Sub
本示例将 Times New Roman 字体替换为活动演示文稿的 Courier 字体。
Application.ActivePresentation.Fonts _
.Replace Original:="Times New Roman", Replacement:="Courier"