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

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

Sub ListStyleNames()

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

.TypeText (ActiveDocument.Styles(Style).NameLocal)

.TypeParagraph        End With    Next End Sub

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

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

Sub SimpleStyleSheet()

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 Style In ActiveDocument.Styles         sOutput = Style.NameLocal & vbCrLf         sOutput = sOutput & "   Style type: " & StyleTypes(Style.Type) & vbCrLf         sTemp = Style.BaseStyle         If Len(sTemp) > 0 Then             sOutput = sOutput & "   Based on: " & Style.BaseStyle & vbCrLf         End If         sOutput = sOutput & "   Font: " & Style.Font.Name         sTemp = ""

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

If Style.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         Selection.TypeText (sOutput & vbCrLf)

Next End Sub

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

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

注意:

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

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

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(6748)适用于Microsoft Word 97、2000、2002和2003。您可以为Word(Word 2007)的功能区界面找到此技巧的版本。和更高版本)在这里: