替换PowerPoint中的一些文本

时间:2011-07-23 19:19:53

标签: office-interop str-replace powerpoint-2007

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

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

我实际上尝试过用

替换

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

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

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

有没有解决方案?

1 个答案:

答案 0 :(得分:2)

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

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

With oSh
    With .TextFrame.TextRange
        .Replace findwhat:=oldString, replacewhat:= replacementString
    End With
End With