0

Word.Rangeオブジェクトのテキストを変更し、その形式を維持する方法を知っている人はいますか?たとえば、「このテキスト」があり、それを「そのtxt」に変更した場合でも、txtは太字のままになります。

独立したAPIから新しいテキストを取得しているので、1つの単語だけでなく、範囲のテキスト全体を変更する方法を探しています。新しいテキストと古いテキストの番号は同じであると想定できます。言葉の。

これは私がこれまでに得たものです:

    for (int i = 0; i < oldWords.Length; i++)
    {
        if (oldWords[i] == newWords[i])
            continue;

        object Replace = WdReplace.wdReplaceOne;
        object FindText = oldWords[i];
        object ReplaceWith = newWords[i];
        var success = Sentence.Find.Execute(parameters stub);
    }            

しかし、何らかの理由で、範囲の選択が見つかった単語に残っているため、最初の実行でのみ成功します。

編集:それを取得しました。実行するたびに、範囲の元の終了位置を復元しました。

ありがとう。

4

1 に答える 1

0

Executeこのメソッドを使用して、テキストを書式設定で変更することはできません。次のようにできます。

Range rng=doc.Content;
rng.Find.Execute(ref finding, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing)

//if this method returns true, you will get the range at the finding location.
if(rng.Find.Found)
{
  rng.Text='sth';
  rng.Bold=0;
}

多分これはあなたを助けることができます。

于 2008-11-21T03:59:34.157 に答える