当我加载包含 OCX 字段的 .docm 表单时,我似乎遇到了问题。如果我更新文档中设置为“退出时计算”的任何表单字段,而不触发任何宏,则更新时间会非常长。如果我打开文档并立即保存,然后尝试更新字段,它们会快速更新。
我只提到 OCX 字段类型,因为当我删除它们时,表单不再存在更新问题。我还尝试从退出时计算切换到仅更新引用字段的简单更新宏,或者更新所有非 OCX 字段的宏。两者都有相同的问题,尽管宏总是需要很长时间来更新工作表,只有在我不先保存的情况下才会进行计算。
Sub UpdateRefFields()
Dim oField as Field
For Each oField In ActiveDocument.Fields
If oField.Type = wdFieldRef Then
oField.Update
End If
Next oField
End Sub
所需时间只要:
ActiveDocument.Fields.Update
对于me来说这不是问题,但这些是法庭表格,需要始终锁定,因此其他用户将无法提前保存文档......否则Calculate就可以正常工作。
想法?
我注意到如果使用 VBA,可以显着节省更新字段的时间: