【发布时间】:2008-10-26 16:28:48
【问题描述】:
任何人都知道如何更改 Word.Range 对象的文本但仍保持其格式? 例如,如果我有“this text”并将其更改为“that 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);
}
但由于某种原因,它只在第一次执行时成功,因为范围选择仍然在找到的单词上。
编辑:知道了,每次执行后,我都恢复了 Range 的原始结束位置。
谢谢。
【问题讨论】:
标签: ms-word ms-office add-in text-formatting