Событие Workbook_Open в Excel Add In работает только при первом открытии файла - PullRequest
1 голос
/ 26 сентября 2019

Событие Workbook_Open в надстройках Excel работает только для первого файла, но если я открываю следующие файлы, сохраняя первый файл открытым, он не работает, Может кто-нибудь помочь мне решить эту проблему?

Iиспользовал этот код в модуле Thisworkbook для создания надстройки и выбрал имя надстройки в опциях

Код:

Sub Workbook_Open()
    MsgBox "Welcome..!!"
End Sub

Любая помощь приветствуется .. !!Спасибо

1 Ответ

1 голос
/ 26 сентября 2019

Не работает при первом открытии файла.

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 здесь, вы должны получать окно сообщения с путем / именем новой открытой книги при каждом открытии книги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...