Проблема
У меня есть файл Excel с довольно сложным кодом VBA, и у меня возникли проблемы с отслеживанием и отладкой ошибок.
Иногда функция B получает значение, которое она не должна получить, и вылетает, но в этот момент я не могу знать, какая другая функция вызвала эту функцию B, и процесс anylys для ее обнаружения занимает очень много времени.
Мое решение
Решением может быть преобразование всех функций, которые я имею, следующим образом:
Sub foo1(variable1 as string)
'do whatever
End Sub
в
Sub foo1(variable1 as string, inforvariable as string)
'do whatever
End Sub
Infovariable - имя вызывающей функции.
Это, очевидно, очень много времени (рефакторинг всего). Кроме того, я не знаю ни как получить доступ к имени "sub" функции вызова кода, что-то вроде:
infovariable = self.name
call foo1(variable1, inforvariable)
В VBA не существует
Некоторые идеи?
Я смотрю здесь , здесь , а здесь