Microsoft Word:通过 VBA 代码向图库添加样式

Microsoft Word:通过 VBA 代码向图库添加样式

我将 HTML 文档导入 Microsoft Word 进行进一步处理。我的 HTML 文档中的某些段落使用链接 CSS 中的类进行格式化,如下所示:

<p class="section_title">Section title</p>

问题是,<p>文档中使用的标签的所有样式默认都不会显示在样式库中,我需要使用样式窗格手动添加它们:

将 Word 样式添加到图库

有没有办法用 VBA 来自动化这项工作?

答案1

将该QuickStyle属性设置为 True:

ActiveDocument.Styles("my style name").QuickStyle = True

在某些情况下(我猜想这与手动分配时的功能/限制相同),我无法在样式库中看到样式,但将样式分配给一个字符或段落会有所帮助。这里,应用于当前选择:

Selection.Style = "my style name"

已使用 Office 365 测试。

注意:我不知道如何从画廊中删除该风格。

答案2

您可以通过简单地逆转您在本文中解释的过程来从样式库中删除样式:只需设置 QuickStyle = False。

这是一个 VBA 宏子程序,我使用它来快速删除(根据我的个人喜好)杂乱的内容。

Sub RemoveQuickStyles()
    
On Error Resume Next
    
    ActiveDocument.Styles("Title").QuickStyle = False
    ActiveDocument.Styles("Subtitle").QuickStyle = False
    ActiveDocument.Styles("Book Title").QuickStyle = False
    
    ActiveDocument.Styles("Quote").QuickStyle = False
    ActiveDocument.Styles("Intense Quote").QuickStyle = False
    
    ActiveDocument.Styles("No Spacing").QuickStyle = False
    
    ActiveDocument.Styles("Table Paragraph").QuickStyle = False
    
    ActiveDocument.Styles("Strong").QuickStyle = False
    
    ActiveDocument.Styles("Emphasis").QuickStyle = False
    ActiveDocument.Styles("Subtle Emphasis").QuickStyle = False
    ActiveDocument.Styles("Intense Emphasis").QuickStyle = False
    
    ActiveDocument.Styles("Subtle Reference").QuickStyle = False
    ActiveDocument.Styles("Intense Reference").QuickStyle = False
   
    ActiveDocument.Styles("TOC 1").QuickStyle = False
    ActiveDocument.Styles("TOC 2").QuickStyle = False
    ActiveDocument.Styles("TOC 3").QuickStyle = False
    ActiveDocument.Styles("TOC 4").QuickStyle = False
    
End Sub

相关内容