1

我正在用 C# 创建一个 MS Office Word 加载项。在使用文档时,我需要从文档中获取一些信息。

我拿了一些Range文件并保存它。

例如,在文本中:

文本1文本 2文本 3 文本4

我保存Range了“text3”。它的Start位置= 13,End位置= 17(字符数,据我所知)。

如果我改变这个词前面的文字:

文本1 新 TE XT文本 文本 2 文本 3 文本 4

其位置Range将保持不变。尝试选择文本时,我得到的文本范围不正确。

有没有办法Range在编辑文档后更新对象的数据?

4

1 回答 1

0

文档指出:

每个 Range 对象都由一个开始和结束字符位置定义

所以你假设:

我保存“text3”的范围。它的开始位置= 13,结束位置= 17(字符数,据我所知)。

... 是正确的。

其范围的位置将保持不变。尝试选择文本时,我得到的文本范围不正确。

我相信这是预期的行为,我认为它与文档在此处关于范围的说明非常吻合:http: //msdn.microsoft.com/en-us/library/microsoft.office.interop.word.range (v= office.14).aspx

有没有办法在编辑文档后更新 Range 对象的数据?

据我所知,这是不可能的,而且据我所知,文档也没有说明这应该是可能的。

起初我认为可能Word存在一个对象来封装这样的功能,但事实证明,文档上的Words集合只包含Ranges每个代表一个单词的单词——这也没有多大帮助。

于 2012-10-08T18:23:54.253 回答