0

私は現在、読み上げられているテキストを強調表示する読み上げアプリケーションに取り組んでいます。テキストのハイライトは、文字インデックスで指定されます。

TextRange range = Application.ActiveWindow.ShapeRange.TextFrame.TextRange現在の形状のすべての文字を含む範囲を教えてくれます。

StartLengthを直接設定する方法を見つけることができなかったので(それらは読み取り専用ですTextRange)、.range.Characters(start, length).Select()

ここまでは順調ですね。問題は、範囲の折りたたみ機能が見つからないため、これを使用して選択をクリアできないことです。Word ではStart = End、範囲オブジェクトの設定によってそれを行いました。これにより、カーソルもこの位置に配置されます。

PowerPoint で同じことを行うにはどうすればよいですか?

4

1 に答える 1

0

私はとても愚かです - range.Characters()5 分前に使用方法を理解したばかりです。私が質問を投稿したのと同じように、答えが私に浮かびました:

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
        }
    }
}
于 2013-10-23T07:54:05.410 に答える