C# 如何以编程方式设置/清除 PowerPoint 中的选择和光标位置
本文关键字:PowerPoint 选择 位置 光标 清除 编程 设置 方式 | 更新日期: 2023-09-27 18:36:34
我目前正在开发一个大声朗读应用程序,该应用程序在阅读文本时突出显示文本。文本突出显示在字符索引中指定。
TextRange range = Application.ActiveWindow.ShapeRange.TextFrame.TextRange
给了我一个包含当前形状中所有字符的范围。
我一直无法找到一种方法来直接设置Start
和Length
TextRange
(它们是只读的),所以我求助于 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
}
}
}