[英]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.