如何通过 Word VBA 宏将交叉引用字段的参数“PreserveFormatting”设置为 true?

问题描述 投票:0回答:1

对于插入的交叉引用字段,参数“PreserveFormatting”默认设置为 false,但可以通过菜单“编辑字段...”(单击鼠标右键)选择“更新期间保留格式”来手动设置为 true .

我尝试录制宏,但在录制模式下菜单无法打开。对我来说,不清楚如何通过 VBA 宏访问参数“PreserveFormatting”。

我需要一个 Word VBA 宏的提案,将值 true 添加到文档字段集合的所有字段(类型 wdFieldRef),以便下次更新不会覆盖样式更改。

问候

vba ms-word
1个回答
0
投票
  • 使用 VBA 代码更新字段代码
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


© www.soinside.com 2019 - 2024. All rights reserved.