Word 2013 在查找.执行时崩溃

Iva*_*nau 2 c# vba vsto ms-word word-2013

我正在使用 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();
Run Code Online (Sandbox Code Playgroud)

所以我在这段代码运行期间发生了Word崩溃。如果我更改Replace: WdReplace.wdReplaceAllReplace: WdReplace.wdReplaceOne,我将可以使用单词,但我需要替换所有出现的情况。

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

小智 5

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

这个页面解释得很好。

选项

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