Как автоматически запустить макрос при открытии рабочей книги- Visual Basic(Бейсик)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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

Leave a Comment