繁体   English   中英

C#如何在PowerPoint中以编程方式设置/清除选择和光标位置?

[英]C# How to programatically set/clear selections and cursor position in PowerPoint?

我目前正在研究一个朗读应用程序,该应用程序在阅读时突出显示文本。 文本高亮显示在字符索引中。

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

我无法找到直接设置TextRange StartLength的方法(它们是只读的),因此我不得不使用range.Characters(start, length).Select()

到现在为止还挺好。 问题是我无法使用它来清除选择,因为找不到该范围的折叠函数。 在Word中,我通过在范围对象上设置Start = End来完成操作-将光标也放置在此位置。

如何在PowerPoint中做同样的事情?

我是如此愚蠢-我只是在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
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM