Как автоматически запустить макрос при открытии рабочей книги

Разместите в любом стандартном модуле:

code: #basic
Private Sub Auto_Open()
    Rem Здесь Ваш код
End Sub ' (а)
code: #basic
Private Sub Auto_Open()
    Имя_Вашего_макроса
End Sub ' (б)

или

Разместите в модуле ThisWorkbook (ЭтаКнига):

code: #basic
Private Sub Workbook_Open()
    Rem Здесь Ваш код
End Sub ' (а)
code: #basic
Private Sub Workbook_Open()
    Имя_Вашего_макроса
End Sub ' (б)

Макрос Auto_Open не вызывается автоматически, если открыть рабочую книгу программно. Однако его можно запустить принудительно, причём в случае отсутствия указанного макроса, ошибки не возникнет.

code: #basic
iFullName = "C:\Temp\Test.xls"
Workbooks.Open(FileName:=iFullName).RunAutoMacros Which:=xlAutoOpen
code: #basic
iFullName = "C:\Temp\Test.xls"
Workbooks.Open FileName:=iFullName
ActiveWorkbook.RunAutoMacros xlAutoOpen
Поделиться:

Похожие статьи: