1

我正在使用 VSTO ThisAddIn 和 Word 2013。

我想用另一个字符串替换所有出现的字符串,Find.Execute并用自定义撤消消息标记此操作。代码是:

application.UndoRecord.StartCustomRecord("Some Message");

var find = application.ActiveDocument.Content.Find;
find.Execute("string to be replaced"
  , ReplaceWith: "second string"
  , Replace: WdReplace.wdReplaceAll);

application.EndCustomRecord();

因此,在此代码运行期间,我遇到了 Word Crash。如果我更改Replace: WdReplace.wdReplaceAllReplace: WdReplace.wdReplaceOne,我将有文字工作,但我需要替换所有出现的地方。

有什么建议/解决方法吗?

4

1 回答 1

3

当您有一个空的自定义撤消并执行全部替换时,Word 会出现一些问题。我今天刚遇到这个问题。

这个页面解释得很好。

选项

  1. 替换一个,然后替换所有
  2. 解决方法是在全部替换之前对文档进行更改,然后撤消该更改
  3. 删除自定义撤消
于 2017-01-11T23:27:10.823 回答