当字段嵌套时,就会出现问题。
foreach (Word.Field field in this.Application.ActiveDocument.Fields)
{
field.Update();
text = field.Result.Text;
}
上述代码不起作用。
这个过程开始了,但是在无限循环或其他一些挂起系统的过程中结束。
考虑到这一点,我可以推测,当你更新字段时,它可能会对字段集合产生影响 - 因此,循环失败。
有没有人对实施这个有什么想法?
P.S。我知道有一个Document.UpdateFields()方法来更新所有字段。但是,我有理由不能使用它,只需要更新特定的字段类型。
道歉!我打算给出一个嵌套字段的例子,但是在发送任何人(杰克)进行追逐之前,他试图再测试一些。
我等待并等待,等了好2或3分钟后,它结束了。在最后一个字段之后,它崩溃了这条消息:
对象已被删除。
错误是从循环内的以下行生成的:
string text = field.Code.Text;
模板正在未找到的合并域上进行测试,因为我在没有数据库连接的情况下进行测试。它是奇怪的,但可以解释的是,它遍历所有字段,然后,在一天结束时,OUTER IF字段的结果是“错误!未找到参考源”。但我仍然不明白为什么会发生这种情况。
我也不明白为什么循环需要3分钟,而对document.Fields.Update()的调用会在大约1秒内完成相同的操作而不会导致上述错误。
再次,我道歉。我从不认为在循环内更新会比调用doc.fields.update()要慢很多。