これは、スライドの例のスクリーンショットです。「ピザ」という言葉にアニメーションがあります。これが文字列のどこで発生するかを文字番号で見つけようとしています。
アニメーションに関する情報を取得するための私のコード:
foreach (PowerPoint.Effect effect in slide.TimeLine.MainSequence)
{
animationMap[animationCount] = new WBLAnimation(effect,shapeMap[effect.Shape.Id],effect.TextRangeStart,effect.TextRangeStart+effect.TextRangeLength);
animationCount++;
}
Pizza は 11 文字目あたりから開始する必要がありますが、TextRangeStart プロパティは 80 文字目あたりから開始すると主張しています。TextRangeLength も間違っています。長さは 6 ("Pizza?" の長さ) であるはずなのに、71 文字であると主張しています。私には、これはアニメーション部分ではなくテキスト範囲の全長をカウントしているようです。
WBLAnimation は単なるヘルパー クラスです。エフェクト、シェイプ、シェイプの開始位置、および終了位置を取ります。これは最終的にリファクタリングする必要があります。これは、私がこの情報を取得する方法の単なる例であるため、誰かが私が間違っていることを指摘する可能性があります.
文字列内でアニメーションが発生している場所を見つける別の方法はありますか?
ありがとう!!!