打印完整样式表(Microsoft Word)
戴夫(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的旧菜单界面在这里: