c# - 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: "second string"
  , Replace: WdReplace.wdReplaceAll);

application.EndCustomRecord();

所以我在这段代码运行期间发生了Word崩溃。如果我将 Replace: WdReplace.wdReplaceAll 更改为 Replace: WdReplace.wdReplaceOne,我将可以使用文字,但我需要替换所有出现的内容。

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

最佳答案

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

This page解释得很好。

选项

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

关于c# - Word 2013 在查找.执行时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40508937/

相关文章:

javascript - 您可以从函数绑定(bind)中读取连接字符串吗?

c# - 比较没有时间的日期 Lambda

excel - 使用 VBA 更改 Internet Explorer 编码

C# - 使用字符串命名单选按钮并访问其属性

vba - Outlook VBA 如何循环浏览收件箱并从电子邮件地址列表(如果主题匹配)

excel - 如何获取使用文件对话框打开的文件的选定路径和名称?

ruby - 通过 ruby​​ 从 office 文档中删除宏等

java - Java如何将一段.docx复制到另一个.docx并保持样式

linux - 什么是复合文档文件 V2 文档?

c# - Grouped TreeView 中的 WPF ListView 不起作用