[英]C# How to programatically set/clear selections and cursor position in PowerPoint?
我目前正在研究一个朗读应用程序,该应用程序在阅读时突出显示文本。 文本高亮显示在字符索引中。
TextRange range = Application.ActiveWindow.ShapeRange.TextFrame.TextRange
为我提供了一个包含当前形状中所有字符的范围。
我无法找到直接设置TextRange
Start
和Length
的方法(它们是只读的),因此我不得不使用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.