рабочая книга не открывается при добавлении в вызовы пользовательской формы при запуске - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть дополнение Excel (xlam), которое вызывает пользовательскую форму при открытии Excel.

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

  • она работает с vbmodeless, поэтому, похоже, она связана с "скрытием" или "выгрузкой"пользовательская форма
  • , когда я открываю новую книгу Excel, она работает нормально

Кто-нибудь знает, почему книга не открывается?Неужели Excel забыл книгу, которую он намеревался открыть?

code of the add in

1 Ответ

0 голосов
/ 27 февраля 2019

В вашей надстройке вы должны слушать события Excel.Таким образом, вам нужно создать класс на основе приложения Excel.

Таким образом, у вас будет класс с именем clsCustomExcelHandlers, например,

Option Explicit

Public WithEvents ExcelApplication As Excel.Application

Private Sub ExcelApplication_WorkbookOpen(ByVal Wb As Workbook)
        '   Do something here
        MsgBox "You have opened " & Wb.FullName
End Sub

, а затем в стандартном модуле естьОткрытая переменная, содержащая экземпляр этого класса

Public clsCustomExcel As clsCustomExcelHandlers

, а затем в надстройке Workbook_open вы устанавливаете его

Private Sub Workbook_Open()
    Set clsCustomExcel = New clsCustomExcelHandlers
    Set clsCustomExcel.ExcelApplication = Application
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...