对于插入的交叉引用字段,参数“PreserveFormatting”默认设置为 false,但可以通过菜单“编辑字段...”(单击鼠标右键)选择“更新期间保留格式”来手动设置为 true .
我尝试录制宏,但在录制模式下菜单无法打开。对我来说,不清楚如何通过 VBA 宏访问参数“PreserveFormatting”。
我需要一个 Word VBA 宏的提案,将值 true 添加到文档字段集合的所有字段(类型 wdFieldRef),以便下次更新不会覆盖样式更改。
问候
Option Explicit
Sub SetPreserveFormatting()
Dim oField As field
Dim fieldCode As String
Const MF_CODE = "\* MERGEFORMAT"
' Loop through all fields
For Each oField In ActiveDocument.Fields
' Check the oField type
If oField.Type = wdFieldRef Then
' Get the current oField code
fieldCode = oField.Code.Text
If InStr(fieldCode, MF_CODE) = 0 Then
' add the MERGEFORMAT switch
fieldCode = fieldCode & Chr(32) & MF_CODE
oField.Code.Text = fieldCode
End If
End If
Next oField
End Sub