我发现这个引用会更新word文档中的所有字段。 http://www.gmayor.com/installing_macro.htm
Sub UpdateAll()
Dim oStory As Range
For Each oStory In ActiveDocument.StoryRanges
oStory.Fields.Update
If oStory.StoryType <> wdMainTextStory Then
While Not (oStory.NextStoryRange Is Nothing)
Set oStory = oStory.NextStoryRange
oStory.Fields.Update
Wend
End If
Next oStory
Set oStory = Nothing
End Sub
我想将其修改为只使用此宏的DocProperty
类型更新字段。
例如:我想更新所有DocProperty
类型,同时跳过所有Ref
类型或所有其他类型。
答案 0 :(得分:0)
您可以在更新前检查字段Type
属性,但是您必须循环遍历它们。
有很多方法可以做到这一点,但我把循环放在一个sub中,所以你可以从
更改你的两个更新行oStory.Fields.Update
到
Call UpdateRangeFieldsOfType(oStory, wdFieldDocProperty)
这是子:
Sub UpdateRangeFieldsOfType(poRange As Range, peType As WdFieldType)
Dim oField As Field
For Each oField In poRange.Fields
If oField.Type = peType Then
oField.Update
End If
Next
Set oField = Nothing
End Sub