【发布时间】:2018-07-31 13:33:41
【问题描述】:
我正在尝试弄清楚如何为整个 word 文档设置字体样式,就像在菜单中选择样式预设一样:
由于我已经制作了一个可以逐字转换整个文档的宏,因此我想要完成的是将所有预设图块(正常、无间距、标题、标题 1 等)更改为匹配此现有预设,而不是旧预设(使用旧字体)。
这可能吗?我要修改什么对象来实现这一点?
【问题讨论】:
我正在尝试弄清楚如何为整个 word 文档设置字体样式,就像在菜单中选择样式预设一样:
由于我已经制作了一个可以逐字转换整个文档的宏,因此我想要完成的是将所有预设图块(正常、无间距、标题、标题 1 等)更改为匹配此现有预设,而不是旧预设(使用旧字体)。
这可能吗?我要修改什么对象来实现这一点?
【问题讨论】:
试试这个...
Sub ChgFontInAllStyles()
Dim sty As Word.Style
For Each sty In ActiveDocument.Styles
If sty.InUse And sty.Type = wdStyleTypeParagraph Then
sty.Font.Name = "Arial"
End If
Next
End Sub
【讨论】:
您在屏幕截图中显示的是 Office 主题。这与 Word 样式不同,尽管某些设置确实“过滤”到内置样式和基于这些样式的自定义样式。
如果涉及以编程方式定义自定义主题,主题就是一个复杂的主题。如果您只想应用现有主题,那么:
Dim sThemePath as String
sThemePath = "C:\Program Files\Microsoft Office\Document Themes 14\Equity.thmx"
ActiveDocument.ApplyDocumentTheme sThemePath
必须指定整个路径。在示例代码中,这是 Office 2010 内置 Office 主题的默认路径。
【讨论】: