2

我用Microsoft.Office.Interop.PowerPoint*.pptx 演示文稿替换每张幻灯片上的一些特定标记。

问题是令牌所在的文本框有以不同方式格式化的行(例如具有不同字体大小的行)。

我实际上尝试通过两者进行替换

shape.TextFrame.TextRange.Text = strStartText + replacementString + strEndText;

shape.TextFrame.TextRange.Text = 
    shape.TextFrame.TextRange.Text.Replace(oldString, replacementString);

但它统一并因此破坏了我的文本框的所有格式。所有的线条和单词现在都具有相同的大小/颜色等。

有什么解决办法吗?

4

1 回答 1

3

PowerPoint 的 .TextRange 对象有一个 .Replace 方法,其工作方式类似于 VB/VBA 的 Replace 命令,但它保留了格式。

例如,假设您在变量 oSh 中引用了形状:

With oSh
    With .TextFrame.TextRange
        .Replace findwhat:=oldString, replacewhat:= replacementString
    End With
End With
于 2011-07-25T00:34:20.657 回答