禁用 Normal 模板中所有目录 (ToC) 样式的自动更新(Word 2010+)

禁用 Normal 模板中所有目录 (ToC) 样式的自动更新(Word 2010+)

我有时想“从头开始”,用全新的副本替换当前的 Word 普通文件,然后使用我喜欢的设置对其进行自定义。

普通文件的所有内容表 (ToC) 样式均设置为自动更新。

据我所知,禁用该设置的唯一方法是逐个操作,并且涉及多个步骤(单击样式,单击修改,切换自动更新,单击确定,重复)。

有没有一种简单的方法可以一次性更改所有 ToC 样式;例如自动更新:

  • 同时禁用所有 ToC 样式?或者
  • 以不违背“从头开始”目的的方式保存和重复使用?(从较早的 dotm、dotx 或 dot 文件导入似乎都违背了目的;但也许有些内容存储在库或其他类型的文件中?)

环境:多台 PC,每台 PC 上都有不同版本的 MSOffice。

注意:ToC 样式的自动更新设置由来已久。它似乎“一直都是这样”。

答案1

自动更新设置是所有目录级别样式的默认设置。您的组织中有人没有这样做,这是 Microsoft 在 Word 的 Normal 模板中设置的方式。

没有提供同时更改所有这些样式设置的方法。不过,您可以使用“文档模板”按钮上的“开发人员”选项卡中的“组织器”功能来替换文档中已更改的样式组。此过程如下:

  1. 创建一个文档并在其中修改九个目录样式
  2. 将该文档带到每台机器上并打开它
  3. 使用 Word 的组织器功能将九个更改后的目录样式复制到该计算机的 Normal 模板中。

另一种方法是在每台计算机上运行宏。以下是您可以使用的宏。

Sub UpdateTemplateStyles()
Dim sty As word.Style
Dim odocStyles As word.Styles
Dim oTemplate As word.Document

On Error GoTo errHandler
Set oTemplate = ActiveDocument.attachedTemplate.OpenAsDocument
Set odocStyles = oTemplate.Styles
For Each sty In odocStyles
    Select Case sty.Type
        Case wdStyleTypeParagraph
            Select Case sty.NameLocal
                Case "TOC 1", "TOC 2", "TOC 3", "TOC 4", _
                    "TOC 5", "TOC 6", "TOC 7", "TOC 8", "TOC 9"
                    sty.AutomaticallyUpdate = False
            End Select
    End Select
Next sty
oTemplate.SaveAs2 FileName:=oTemplate.FullName, AddToRecentFiles:=False
DoEvents
oTemplate.Close
Exit Sub

errHandler:
MsgBox Err.Description, vbExclamation, "UpdateTemplateStyles"
End Sub

相关内容