Печать полной таблицы стилей (Microsoft Word)
Дэйву понравился бы способ распечатать полнофункциональную таблицу стилей для своих документов. Он знает, что может выбрать печать «Стилей» в диалоговом окне «Печать», но он предпочел бы иметь таблицу стилей, которая показывает фактические стили, такие как цвет, размер, шрифт и т. Д.
К сожалению, в 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), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (6748) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:
link: / wordribbon-Printing_a_Full_Style_Sheet [Печать полной таблицы стилей]
.