Attribute VB_Name = "Declarations" Option Explicit ' TODO: refactor this whole mess Public Const FOOTER_SYMBOL_BREAK = 30 Public Const CSET_SLETTERS = "абвгдеёжзийклмнопрстуфхцчшщъыьэюяabcdefghijklmnopqrstuvwxyz" Public Const CSET_BLETTERS = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ" Public Const BASE_STYLE = "!Абзац текста" Public Const FIELD_SIZE_CM As Double = 2.54 ' Насколько темнее будет выделение в тексте относительно заголовка Public Const TEXT_BOLD_LUMSCALE = -0.2 ' Настройки оттенков для таблиц Public Const TABLE_FRAME_LUMSCALE = -0.35 Public Const TABLE_HEAD_LUMSCALE = 0.2 Public Const TABLE_SUBHEAD_LUMSCALE = 0.3 Public Const TABLE_ZEBRA_LUMSCALE = 0.8 Public Const TABLE_FRAME_THICKNESS = 18 Public Const TABLE_CELL_THICKNESS = 12 Public Const SECOND_COL_POS = 300 Public Const TABLE_CRITICAL_WIDTH As Double = 16 Public Const TABLE_CRITICAL_HEIGHT As Double = 22 Public Const RIGHT_POS_SHIFT = 8# Public Const LEFT_POS_SHIFT = -0.25 ' В зависимости от шрифта заголовк анужно ставить специальную константу Public Const SPACING_SCALE = 1.15 ' Times New Roman ' Идентификатор колонки (лево-право) Public Enum TColumn T_COL_LEFT T_COL_RIGHT End Enum ' Режим наполнения колонтитула Public Enum TSource T_SOURCE_BOOK T_SOURCE_VOLUME T_SOURCE_SECTION T_SOURCE_DOCUMENT T_SOURCE_CHAPTER T_SOURCE_CONCEPT End Enum ' Тип колонтитула Public Type ColontitlePosition top_ As Boolean left_ As Boolean source_ As TSource End Type ' Настройка раскраски таблицы Public Type TablePaintProps cGrid As Long cHeading As Long cSubHead As Long cZebra As Long sectionColor As Long textSpacing As Double End Type ' Параметры блока заголовков Public Type HeaderBlock yText As Double yHeight As Double startRng As Word.Range finishRng As Word.Range End Type ' Настройка автомакитирования Public Type AutoDesignOptions reapplyLists As Boolean fixObjects As Boolean titlePage As Boolean doLayout As Boolean generateColontitles As Boolean Count As Integer End Type ' Параметры титульной страницы Public Type TitlePageData sVolume As String nVolumeID As Long sBook As String nBookID As Long rContract As Word.Range rCustomer As Word.Range rTheme As Word.Range End Type ' Положения разделов Public Type SectionHeader rFind As Word.Range nStart As Long nFinish As Long cText As Long cHeader As Long End Type Public Type SectionData sName As String sChapter As String bNewChapter As Boolean End Type Public Function DesignTheme(ThemeColorIndex As WdThemeColorIndex) As Long Select Case ThemeColorIndex: Case wdThemeColorMainDark1: DesignTheme = Format("&HD000FFFF") Case wdThemeColorMainLight1: DesignTheme = Format("&HD100FFFF") Case wdThemeColorMainDark2: DesignTheme = Format("&HD200FFFF") Case wdThemeColorMainLight2: DesignTheme = Format("&HD300FFFF") Case wdThemeColorAccent1: DesignTheme = Format("&HD400FFFF") Case wdThemeColorAccent2: DesignTheme = Format("&HD500FFFF") Case wdThemeColorAccent3: DesignTheme = Format("&HD600FFFF") Case wdThemeColorAccent4: DesignTheme = Format("&HD700FFFF") Case wdThemeColorAccent5: DesignTheme = Format("&HD800FFFF") Case wdThemeColorAccent6: DesignTheme = Format("&HD900FFFF") Case wdThemeColorHyperlink: DesignTheme = Format("&HDA00FFFF") Case wdThemeColorHyperlinkFollowed: DesignTheme = Format("&HDB00FFFF") Case wdThemeColorBackground1: DesignTheme = Format("&HDC00FFFF") Case wdThemeColorText1: DesignTheme = Format("&HDD00FFFF") Case wdThemeColorBackground2: DesignTheme = Format("&HDE00FFFF") Case wdThemeColorText2: DesignTheme = Format("&HDF00FFFF") Case Else: End Select End Function