Attribute VB_Name = "MU_Declarations" ' Декларации модуля разметки ' Состав API модуля: все модули с префиксом MU_ и MarkupAPI Option Private Module Option Explicit Public Const VAR_MUPATH = "MarkupConfig" Public Const VAR_HASH = "MarkupHash" Public Const CONFIG_PATH = "\Microsoft\Шаблоны\Разметка\" Public Const CONFIG_MASK = "*.docx" Public Const WORD_FIRST_ROW = 2 Public Const WORD_CAT_ID = 1 Public Const WORD_CAT_NAME = 2 Public Const WORD_CAT_STYLE = 3 Public Const WORD_CAT_INFO = 4 Public Const WORD_CAT_COMP = 5 Public Const SPLITTER_COMPOSITION = ";" Public Const INFO_GENERATED = "GENERATED" Public Enum OutExcelStruct OES_ID = 1 OES_START = 2 OES_FINISH = 3 OES_TYPE = 4 OES_TEXT = 5 OES_COMMENT = 6 OES_SOURCE_LABEL = 7 OES_SOURCE = 8 End Enum ' Markup errors Public Enum MUErrors ERR_COMBO_TAKEN = vbObjectError + 1000 ERR_CANNOT_ADD_STYLE ERR_STYLE_TAKEN ERR_FORMAT_TAKEN ERR_UNKNOWN_CAT_ID ERR_CAT_NAME_TAKEN ERR_STYLE_NO_FORMAT ERR_INCOMPLETE_COMPOSITION End Enum Public Function Markup() As MarkupAPI Static globalMarkup As New MarkupAPI Set Markup = globalMarkup End Function Public Function GetConfigList() As Collection Set GetConfigList = New Collection Dim fso As New Scripting.FileSystemObject Dim desc As New ItemConfigDescriptor Dim sFolder$: sFolder = VBA.Environ("AppData") & CONFIG_PATH Dim sFile$: sFile = sFolder & VBA.Dir(sFolder & CONFIG_MASK) Do While sFile <> sFolder desc.path_ = sFile desc.name_ = fso.GetBaseName(desc.path_) Call GetConfigList.Add(desc.Clone()) sFile = sFolder & VBA.Dir Loop End Function