戴夫(Dave)会喜欢一种为文档打印功能齐全的样式表的方法。他知道他可以选择在“打印”对话框中打印“样式”,但是他宁愿有一个样式表来显示实际的样式,例如颜色,大小,字体等。

不幸的是,Word中没有这种功能。但是,您可以使用宏来创建自己喜欢的样式表。例如,以下内容将在当前文档中插入文档中所有可用样式的名称。每个样式名称都在其自己的行(段落)上,并使用各种样式进行格式化。

Sub ListStyleNames()

Dim s As Style

For Each s In ActiveDocument.Styles         With Selection             .Style = s             .TypeText (s.NameLocal)

.TypeParagraph         End With     Next s End Sub

这种方法虽然方便使用简洁的样式列表,但它比使用“打印”对话框中的“样式”名称可以打印的内容要有用得多。但是,它确实提供了基础,可以用来创建功能更全的样式表。

使用宏创建详细的样式表的问题在于样式可能包含大量信息。当测试样式以查看其包含的内容时,Word使用的对象模型(可在VBA中访问)很快变得非常复杂。这只是一个简单的示例,可为您提供风味:

Sub SimpleStyleSheet()

Dim s As Style     Dim sOutput As String     Dim sTemp As String     Dim StyleTypes(4) As String

StyleTypes(1) = "Paragraph"

StyleTypes(2) = "Character"

StyleTypes(3) = "Table"

StyleTypes(4) = "List"



For Each s In ActiveDocument.Styles         sOutput = s.NameLocal & vbCrLf         sOutput = sOutput & "   Style type: " & StyleTypes(s.Type) & vbCrLf         sTemp = s.BaseStyle         If Len(sTemp) > 0 Then             sOutput = sOutput & "   Based on: " & s.BaseStyle & vbCrLf         End If         sOutput = sOutput & "   Font: " & s.Font.Name         sTemp = ""

If s.Font.Bold Then sTemp = sTemp & "Bold, "

If s.Font.Italic Then sTemp = sTemp & "Italic, "

If Len(sTemp) > 0 Then             sTemp = Left(sTemp, Len(sTemp) - 2)

sOutput = sOutput & " (" & sTemp & ")"

End If         sOutput = sOutput & vbCrLf & vbCrLf         Selection.TypeText (sOutput)

Next s End Sub

该宏唯一要做的就是列出所有样式,它们是什么类型的样式,它们是否基于不同的样式(如果是,则是该样式的名称),该样式使用什么字体,以及是否字体为粗体或斜体。任何熟悉样式的人都会立即理解,这几项只是样式中可以定义的内容的一小部分。要检查所有可能的样式格式并将其打印在样式表中,确实会使宏非常长。

即使这样,该宏还是很有用的,因为它提供了如何组合自己的样式表的想法。您只需要弄清楚想要在样式表中看到的内容,然后添加宏代码即可确定该信息并打印出来。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本提示(13365)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: