Кто-нибудь знает, как я могу изменить текст объекта Word.Range, но при этом сохранить его формат?
Например, если у меня есть «this text » и я изменяю его на «this txt », txt все равно будет выделен жирным шрифтом.
Я ищу способ изменить весь текст диапазона, а не только одно слово, так как я получаю новый текст из независимого API, я могу предположить, что новый текст и старый текст имеют столько же слов.
Это то, что я получил до сих пор:
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);
}
Но по какой-то причине он успешен только при первом выполнении, потому что выбор диапазона остается для найденного слова.
Редактировать: получил, после каждого выполнения я восстанавливал исходную конечную позицию моего Диапазона.
Спасибо.