我需要使用 VBA 替换 PowerPoint 演示文稿模板中的部分文本框。同一个框包含幻灯片编号的域代码(是正确的短语吗?)。当我对模板中的每个形状 oSh 执行以下代码时:
If oSh.HasTextFrame Then
oSh.TextFrame.TextRange.Text = Replace(oSh.TextFrame.TextRange.Text, searchString, newString)
End If
有关字段代码的信息消失了 - 幻灯片编号已损坏。例如,如果形状有“这是幻灯片编号”后跟幻灯片编号域代码,那么如果我将“这是幻灯片编号”替换为“幻灯片”,文本将显示为“幻灯片 <#>”。
当我使用 PowerPoint 的“替换”功能时,该功能被保留(幻灯片编号仍然有效)。它有什么不同?更重要的是 - 如何在不破坏幻灯片编号的情况下替换子字符串?