0

我目前正在开发一个朗读应用程序,该应用程序在阅读时突出显示文本。文本突出显示在字符索引中指定。

TextRange range = Application.ActiveWindow.ShapeRange.TextFrame.TextRange给我一个包含当前形状中所有字符的范围。

我无法找到直接设置StartLength的方法TextRange(它们是只读的)所以我求助于使用range.Characters(start, length).Select().

到目前为止,一切都很好。问题是我不能用它来清除选择,因为我找不到范围的折叠功能。在 Word 中,我通过Start = Endrange 对象上的设置来完成它——它也将光标放在这个位置。

如何在 PowerPoint 中执行相同的操作?

4

1 回答 1

0

range.Characters()我太傻了——我5分钟前才弄清楚如何使用。就在我发布问题时,答案突然出现在我身上:

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
        }
    }
}
于 2013-10-23T07:54:05.410 回答