Есть макрос вставляющий в ThisWoorkbook/ЭтаКнига код событийной процедуры. у меня это Workbook_AfterSave.
Есть нюанс: "для русской версии используется ссылка на ЭтаКнига. Для английской ThisWorkbook"
??? КАК организовать проверку для активной книги - в ней ThisWorkbook или ЭтаКнига ???
Файлы все однотипные, но одни созданы на MSO2007 EN, а другие в MSO2010 RU...
Код |
---|
Sub CreateEventProcedure() 'https://www.excel-vba.ru/chto-umeet-excel/kak-dobavit-kod-procedury-programmno-skopirovat-modul/ Dim objVBProj As Object, objVBComp As Object, objCodeMod As Object Dim lLineNum As Long 'добавляем новую книгу Workbooks.Add 'получаем ссылку на проект и модуль книги Set objVBProj = ActiveWorkbook.VBProject Set objVBComp = objVBProj.VBComponents("ЭтаКнига") Set objCodeMod = objVBComp.CodeModule 'вставляем код With objCodeMod lLineNum = .CreateEventProc("Open", "Workbook") lLineNum = lLineNum + 1 .InsertLines lLineNum, " MsgBox ""Hello World""" End With End Sub |
Есть нюанс: "для русской версии используется ссылка на ЭтаКнига. Для английской ThisWorkbook"
Код |
---|
Set objVBComp = objVBProj.VBComponents("ThisWorkbook") |
??? КАК организовать проверку для активной книги - в ней ThisWorkbook или ЭтаКнига ???
Файлы все однотипные, но одни созданы на MSO2007 EN, а другие в MSO2010 RU...