Не работает при первом открытии файла.
ThisWorkbook
представляет документ, содержащий код VBA - в данном случае, надстройка «рабочая книга»: это окно сообщения появится, когда надстройка открывается при запуске Excel.
Если вы хотите запускать код всякий раз, когда открывается любая книга , вам нужно обрабатывать события в Application
уровень.
Объявление переменной WithEvents
в модуле ThisWorkbook
:
Option Explicit
Private AppEvents As Excel.Application
Назначение этой ссылки на объект при открытии:
Private Sub Workbook_Open()
Set AppEvents = Me.Application
End Sub
Теперь выберитеAppEvents
из раскрывающегося списка слева вверху области кода и выберите событие WorkbookOpen
в раскрывающемся меню справа - это создаст обработчик, который выглядит следующим образом:
Private Sub AppEvents_WorkbookOpen(Wb As Workbook)
End Sub
Если вы введете MsgBox Wb.FullName
здесь, вы должны получать окно сообщения с путем / именем новой открытой книги при каждом открытии книги.