C# Word 2013在查找时崩溃。执行

C# Word 2013在查找时崩溃。执行,c#,vba,ms-word,vsto,word-2013,C#,Vba,Ms Word,Vsto,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

我正在使用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();
因此,在这个代码运行期间,我有一个单词Crash。如果我将
Replace:WdReplace.wdReplaceAll
更改为
Replace:WdReplace.wdReplaceOne
,我将使word正常工作,但我需要替换所有出现的内容


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

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

解释得很好

选择权

  • 更换一个,然后更换所有
  • 解决方法是在“全部替换”之前更改文档,然后 取消这一改变
  • 删除自定义撤消

  • 这可能与相关文件有关,而不是一般问题。文档中使用的特定格式或Word功能可能存在问题。您可以尝试缩小范围,在宏运行之前从文档中删除内容。感谢您的想法,但我只是尝试使用一个新的空文档来执行此操作,它也崩溃了。是的,您是对的。我很久以前就选择了选项1。