Тема: Полезности для работы со Стилями VBA
В данной теме я рассказываю о работе со Стилями Word в VBA.
Для начала я создал класс clsStylesSort (см. вложение) в котором создал ряд свойств которые можно подразделить на 2-е группы:
I-я группа:
1. StylesParagraphOnly - это список стилей типа "Абзац", в нем собираются все стили Активного документа, в которых основным параметром являются Настройки абзаца.
2. StylesFontOnly - это список стилей типа "Знак", в нем собираются все стили Активного документа, в которых основным параметром являются Настройки знака.
3. StylesParagraphLinked - это список стилей типа "Связанный Абзац и Знак", в нем собираются все стили Активного документа, в которых основным параметром являются Настройки абзаца, привязанного к знаку.
4. StylesFontLinked - это список стилей типа "Связанный Знак", в нем собираются все стили Активного документа, в которых основным параметром являются Настройки знака, привязанного к абзацу.
II-я группа:
1. StylesParagraphOnlyInDocument - это список стилей типа "Абзац", примененных в Активном документе, из списка 1, I-й группы.
2. StylesFontOnlyInDocument - это список стилей типа "Знак", примененных в Активном документе, из списка 2, I-й группы.
3. StylesParagraphLinkedInDocument - это список стилей типа "Связанный Абзац и Знак", примененных в Активном документе, из списка 3, I-й группы.
4. StylesFontLinkedInDocument - это список стилей типа "Связанный Знак", примененных в Активном документе, из списка 4, I-й группы.
Особого внимания заслуживают свойства StylesParagraphLinkedInDocument и StylesFontLinkedInDocument:
Если StylesParagraphLinkedInDocument = 0, то ни к одному абзацу в документе не применялся тип "Связанный Абзац и Знак", иначе свойство возвращает список стилей примененных в документе.
Если StylesFontLinkedInDocument возвращает список, то это означает, что в каком-то из абзацев с другим стилем применен стиль Знака из Связанного абзаца.
Для работы с классом clsStylesSort импортируйте вложенный файл в нужный Вам проект VBA.
Для обращения к свойствам класса используйте синтаксис: clsStylesSort.StylesParagraphOnlyInDocument
Например процедура:
Public Sub TestStyle()
Dim cls As clsStylesSort
Set cls = New clsStylesSort
MsgBox UBound(cls.StylesParagraphOnly) & " / " & UBound(cls.StylesParagraphOnlyInDocument)
End Sub
выводит на экран сообщение об общем количестве стилей тира «Абзац» и количество стилей этого типа примененных в документе.
Продолжение следует. По непоняткам пишите