替换 PowerPoint 中的某些文本
我使用 Microsoft.Office.Interop.PowerPoint
替换 *.pptx 演示文稿中每张幻灯片上的某些特定标记。
问题是令牌所在的文本框具有以不同方式格式化的行(例如具有不同字体大小的行)。
进行替换
我实际上尝试通过shape.TextFrame.TextRange.Text = strStartText + replacementString + strEndText;
,
shape.TextFrame.TextRange.Text =
shape.TextFrame.TextRange.Text.Replace(oldString, replacementString);
但它统一了,从而破坏了我的文本框的所有格式。 所有的线条和文字现在都具有相同的大小/颜色等。
有什么解决方案吗?
I use Microsoft.Office.Interop.PowerPoint
to replace some specific token at each slide from a *.pptx presentation.
The problem is that the text box in which the token resides has lines which are formatted in different ways (e.g. lines with different font size).
I actually tried doing the replacement by both
shape.TextFrame.TextRange.Text = strStartText + replacementString + strEndText;
and
shape.TextFrame.TextRange.Text =
shape.TextFrame.TextRange.Text.Replace(oldString, replacementString);
But it unifies and thus spoils all the formatting of my textbox.
All the lines and words are now having the same size/colour etc.
Is there any solution to this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
PowerPoint 的 .TextRange 对象有一个 .Replace 方法,其工作方式与 VB/VBA 的 Replace 命令类似,但它保留格式。
例如,假设您在变量 oSh 中引用了形状:
PowerPoint's .TextRange objects have a .Replace method that works similarly to VB/VBA's Replace command, but it preserves formatting.
Example, assuming you have a reference to the shape in the variable oSh: