Я бы порекомендовал использовать некоторые основанные на передовых практиках среды ведения журналов, такие как VBA Logging , которая поддерживает ведение журнала файлов или консоль с возможностью конфигурирования параллельно и т. Д.использование (например, в каком-то модуле Foo.bas
):
Sub MySub()
Logging.setModulName (Application.VBE.ActiveVBProject.Name)
Set log = Logging.getNewLogger(Application.VBE.ActiveVBProject.Name)
Call log.setLoggigParams(Logging.lgALL, True, True, True) ' log ALL to Console, Buffer, File
log.logINFO "This is my message ..", "MySub"
End Sub
, что приводит к чему-то вроде (как в консоли, так и в файле vba_logging.log
):
(16.12.2018 13:08:30)[XlsxMgr::MySub]-INFO: This is my message ..
, где выглядит файл конфигурации журналакак это:
## vba_logging.properties
LOG_LEVEL = info
LOG_TO_CONSOLE = True
LOG_TO_BUFFER = True