簡體   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