Как запустить код при запуске Excel (не workbook_open)? - PullRequest
0 голосов
/ 30 сентября 2018

Я ищу способ запуска кода при открытии файла Excel, но не из метода workbook_open.

Как и с определенным именем "main_tables.xlsx", и Excel при открытии, запускает пользовательскиймакросы, которые не из указанного файла.

Есть идеи?Спасибо.

1 Ответ

0 голосов
/ 30 сентября 2018

Вы можете использовать надстройку.

Создайте надстройку со следующим кодом в модуле ThisWorkbook:

Private WithEvents app As Application

' This will run when any workbook is opened.
Private Sub app_WorkbookOpen(ByVal Wb As Workbook)
    ' Check if this add-in is opening versus any other workbook.
    If Not Wb Is Me Then
        ' Another workbook is opening - do something...
        MsgBox Wb.Name
    End If
End Sub

' This will run when the add-in workbook is opened.
Private Sub Workbook_Open()
    ' Set the app variable so that we can listen for WorkbookOpen event
    Set app = Application
End Sub

Сохраните это как надстройку впапку надстройки (обычно C: \ Users \\ AppData \ Roaming \ Microsoft | AddIns), выбрав Файл -> Сохранить как и выбрав тип файла надстройки Excel (* .xlam).

Затемв меню «Файл» -> «Параметры» -> «Надстройки» выберите «Управление надстройками Excel» и нажмите «Перейти». Появится список надстроек для автоматического запуска.Отметьте надстройку, которую вы только что создали.

Теперь, когда вы откроете любую книгу, будет запущен код надстройки.

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