Логирование – ведения логов действий программы на VBA с возможностью просмотра созданного лога в текстовом файле или блокноте

Использование Логирования:

Для использования инструмента Логированиянужно на панели инструментов VBE нажать кнопку – Вставить класс LogRecorder” И для удобства использования импортировать функции: WriteLog, WriteErrorLog и ShowLog. Используя инструмент – Code-Library

ведения логов действий программы на VBA с возможностью просмотра созданного лога в текстовом файле
Логирование выполнения программы VBA

Пример использования инструмента - Логирования

Public Sub Example_log()
Dim i      As Integer
On Error GoTo ErrorHandler
For i = 0 To 10
Call WriteLog(Example_log, i) '-> вызов процедуры-Логирование выполнения программы
Next i
Exit Sub
ErrorHandler:
Call WriteErrorLog(Example_log) '->   вызов процедуры - Логирование ошибок выполнения программы
Call ShowLog '->   вызов процедуры - Вывод лога
End Sub

Процедура WriteLog

В процедурах WriteLog и WriteErrorLog можно переопределить название LOG-файла ошибок, раз комментировав строку – ‘LR.LogFileName = “NewNameFileLog”, вместо NewNameFileLog – задается пользовательское название файла. По умолчанию используется имя файла – “common”

Pаз комментировав строку – “‘LR.ClearLog”, производится удаление всех данных в LOG-файле перед записью новых данных 

Public Sub WriteLog(ByVal EventX As String, Optional ByVal Info As String, _
Optional ByVal Level As Integer = 0, _
Optional ByVal LogSeparatorType As LOG_SEPARATOR_TYPE = LOG_SEPARATOR_NONE, _
Optional ByVal ForceSavingLog As Boolean = False)
'WriteLog - Запись произвольного лога
'EventX - Описание события
'Info - информация для сохранения
'Level - количество отступов справа
'LogSeparatorType - тип выделения инофрмации
'ForceSavingLog - сохранять или нет лог в файл
Dim LR As LogRecorder
Set LR = New LogRecorder
'Именить название Log файла, по умолчанию "common"
'LR.LogFileName = "NewNameFileLog"
Call LR.AddRecord(EventX, Info, Level, LogSeparatorType, ForceSavingLog)

End Sub

Процедура WriteErrorLog

Public Sub WriteErrorLog(ByVal sNameFunc As String)
'WriteErrorLog - записывает Log в файл
'sNameFunc - название отслеживаемой функции/процедуры, тип строковый
Dim LR As LogRecorder
Set LR = New LogRecorder
'Именить название Log файла, по умолчанию "common"
'LR.LogFileName = "NewNameFileLog"
'Удаление всех запмсей в Log файле
'LR.ClearLog
LR.WriteErrorLog (sNameFunc)
End Sub

Процедура ShowLog

Изменяя параметр в строке LR.Show (True), можно изменять вид вывода информации в LOG-файле. True – в окне Immediate редактора кода VBE, False – открывается txt-файл с данными.

Public Sub ShowLog()
'ShowLog - показывает Log файл
Dim LR As LogRecorder
Set LR = New LogRecorder
'Именить название Log файла, по умолчанию "common"
'LR.LogFileName = "NewNameFileLog"
'False - покать в блокноте, True - в окне Immediate
LR.Show (True)
End SubEnd Sub