我目前正在制作朗读应用程序,该应用程序会突出显示正在阅读的文本。文本高亮显示在字符索引中指定。
TextRange range = Application.ActiveWindow.ShapeRange.TextFrame.TextRange
为我提供了一个包含当前形状中所有字符的范围。
我们无法找到直接设置Start
Length
TextRange
的方法(他们只读),所以我'我们使用了range.Characters(start, length).Select()
。
到目前为止,这么好。问题是我不能用它来清除选择,因为我找不到范围的折叠函数。在Word中,我通过范围对象上的设置Start = End
完成了它 - 它也将光标放在此位置。
我如何在PowerPoint中执行相同操作?
答案 0 :(得分:0)
我太傻了 - 我只是想知道如何在5分钟前使用range.Characters()
。就在我发布问题时,答案就在我身上:
range.Characters(start, 0).Select();
通过循环遍历所有形状,可以扩展此方法以处理整个PowerPoint文档:
foreach (Slide slide in app.ActivePresentation.Slides){
foreach (Shape shape in slide.Shapes)
{
if (Shape.HasTextFrame == MsoTriState.msoTrue)
{
// Do stuff with this part of the text
}
}
}