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

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

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

Класс логирования взят с сайта: ExcelVBA.ru

Ведение логов действий программы (модуль класса)

ведения логов действий программы на 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
Закрыть меню