Asp.net 使用互操作范围时出现问题。当范围包含表时查找

Asp.net 使用互操作范围时出现问题。当范围包含表时查找,asp.net,ms-word,Asp.net,Ms Word,我正在尝试编写一个word加载项(使用C#),用于搜索文档中出现的所有特定文本片段,并对找到的文本部分进行一些更改 我创建了一个使用Range.Find的循环,以获取文档中包含一段文本的所有范围,并使用它返回的Range对象稍后进行操作。但是,当文档中有一个表时,就会出现问题 在我的第一次尝试中,我只是不断地创建一个新范围,从上次找到的事件的结尾到文档的结尾,然后在新范围内再次搜索,直到它没有返回任何找到的值。当我对一个包含表的文档执行此操作时,它只是卡在表中并创建了一个无限循环 然后,我找到了

我正在尝试编写一个word加载项(使用C#),用于搜索文档中出现的所有特定文本片段,并对找到的文本部分进行一些更改

我创建了一个使用Range.Find的循环,以获取文档中包含一段文本的所有范围,并使用它返回的Range对象稍后进行操作。但是,当文档中有一个表时,就会出现问题

在我的第一次尝试中,我只是不断地创建一个新范围,从上次找到的事件的结尾到文档的结尾,然后在新范围内再次搜索,直到它没有返回任何找到的值。当我对一个包含表的文档执行此操作时,它只是卡在表中并创建了一个无限循环

然后,我找到了这篇文章:,当使用文章描述的Find函数时,它成功地继续通过一个表,但不幸的是,它没有成功地获取该表中的所有值,这是我需要它完成的


有人对如何解决这个问题有什么建议吗?我见过一些人谈论这个问题,但没有解决办法

我建议为此使用OpenXMLSDK。办公室互操作是一个遗物。这里有一篇文章解释了如何使用OpenXml SDK搜索Word文档:

下面是一个SO问题,讨论如何使用OpenXml SDK替换Word文档中的图像:


我想使用Interop,因为它似乎很容易与外接程序一起使用,但我认为你是对的,它太过时了。现在尝试一下OpenXml。谢谢你的建议!