我使用Microsoft.Office.Interop.PowerPoint
从* .pptx演示文稿中替换每张幻灯片上的某些特定标记。
问题在于令牌所在的文本框具有以不同方式格式化的行(例如,具有不同字体大小的行)。
我实际上尝试过用
替换 shape.TextFrame.TextRange.Text = strStartText + replacementString + strEndText;
和
shape.TextFrame.TextRange.Text =
shape.TextFrame.TextRange.Text.Replace(oldString, replacementString);
但它统一并因此破坏了我的文本框的所有格式。 所有的线条和单词现在都具有相同的大小/颜色等。
有没有解决方案?
答案 0 :(得分:2)
PowerPoint的.TextRange对象有一个.Replace方法,其工作方式与VB / VBA的Replace命令类似,但它保留了格式。
示例,假设您在变量oSh中引用了形状:
With oSh
With .TextFrame.TextRange
.Replace findwhat:=oldString, replacewhat:= replacementString
End With
End With