Можно сказать, какая книга вызвала функцию в надстройке Excel (xla)

Я хочу написать небольшую функцию ведения журнала в надстройке Excel, которую я буду вызывать из множества разных книг. Я хотел бы иметь возможность просто вызывать его, передавая только текст журнала, а сама функция журнала могла бы обрабатывать метку времени, имя книги и т.д.

Однако я не могу использовать ThisWorkbook или ActiveWorkbook чтобы определить, какая книга отвечает за вызов, поскольку Thisworkbook вернет ссылку на саму надстройку, тогда как код VBA, работающий в книге, отличной от книги с активным фокусом в Excel, может выполнить вызов, но ActiveWorkbook вернет тот, который имеет фокус в окне.

Application.Caller выглядел как возможное решение, но похоже, что это работает только тогда, когда функция вызывается из ячейки, а не из VBA.

Это то, что я ' м пытаетесь сделать невозможное?

Обновление

По мнению> 1 человека, это фактически невозможно. Если кому-нибудь удастся найти способ обходного пути, сообщите об этом.

7
задан Community 9 July 2018 в 19:34
поделиться