【发布时间】:2017-03-23 09:06:27
【问题描述】:
我正在使用 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,我将有文字工作,但我需要替换所有出现的地方。
有什么建议/解决方法吗?
【问题讨论】:
-
这可能与相关文档有关,而不是一般问题。可能是文档中使用的特定格式或 Word 功能存在问题。您可以尝试缩小范围,从文档中删除内容,直到宏起作用。
-
感谢您的想法,但我只是尝试使用一个新的空文档来完成它,它也崩溃了。
标签: c# vba ms-word vsto word-2013