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