我有时想“从头开始”,用全新的副本替换当前的 Word 普通文件,然后使用我喜欢的设置对其进行自定义。
普通文件的所有内容表 (ToC) 样式均设置为自动更新。
据我所知,禁用该设置的唯一方法是逐个操作,并且涉及多个步骤(单击样式,单击修改,切换自动更新,单击确定,重复)。
有没有一种简单的方法可以一次性更改所有 ToC 样式;例如自动更新:
- 同时禁用所有 ToC 样式?或者
- 以不违背“从头开始”目的的方式保存和重复使用?(从较早的 dotm、dotx 或 dot 文件导入似乎都违背了目的;但也许有些内容存储在库或其他类型的文件中?)
环境:多台 PC,每台 PC 上都有不同版本的 MSOffice。
注意:ToC 样式的自动更新设置由来已久。它似乎“一直都是这样”。
答案1
自动更新设置是所有目录级别样式的默认设置。您的组织中有人没有这样做,这是 Microsoft 在 Word 的 Normal 模板中设置的方式。
没有提供同时更改所有这些样式设置的方法。不过,您可以使用“文档模板”按钮上的“开发人员”选项卡中的“组织器”功能来替换文档中已更改的样式组。此过程如下:
- 创建一个文档并在其中修改九个目录样式
- 将该文档带到每台机器上并打开它
- 使用 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