Word 2013 在 Find.Execute 上崩溃

Word 2013 Crash on Find.Execute

我正在使用 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.wdReplaceAll 更改为 Replace: WdReplace.wdReplaceOne,我将使用单词,但我需要替换所有出现的地方。

任何suggestions/workarounds?

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

This page解释的很好

选项

  1. 替换一个,然后替换所有
  2. 解决方法是在全部替换之前更改文档,然后 撤消该更改
  3. 删除自定义撤消