Имеется книга с большим количеством макросов. Когда пользователь работает с несколькими подобными или иными книгами часть макросов и юзерформ срабатывают в других книгах, хотя они должны работать только в той книге, из которой вызываются. Последний раз у юзера сработал макрос на запораливание листа из моей книги, в книге пользователя, пользователь был в шоке)))
Я всего лишь любитель, поэтому не знаю как классически решается такая проблема. Я использую в коде 2 вещи:
1. вставляю вначале каждого саба if ThisWorkbook.Path <> ActiveWorkbook.Path Then Exit Sub
2. убираю обращение к листам через activesheet (хотя и не везде это сделал, рефакторить весь код займет целый день, пока лень, может это можно проще реализовать?), например: ThisWorkbook.Worksheets("Спецификация для клиента"
.Unprotect psw_var
Есть ли простой способ защититься от вмешательства макроса и юзерформ данной книги в работу других книг?
Особенно проблема актуальна по какой-то причине именно при открытии книги, в работе косяков уже не встречается. Вообще я заметил, почему-то при открытии книги запускаются макросы, которые в принципе не должны запускаться, например, макрос срабатывающий на активацию какого-либо листа, который при открытии не активен.
Я всего лишь любитель, поэтому не знаю как классически решается такая проблема. Я использую в коде 2 вещи:
1. вставляю вначале каждого саба if ThisWorkbook.Path <> ActiveWorkbook.Path Then Exit Sub
2. убираю обращение к листам через activesheet (хотя и не везде это сделал, рефакторить весь код займет целый день, пока лень, может это можно проще реализовать?), например: ThisWorkbook.Worksheets("Спецификация для клиента"
Есть ли простой способ защититься от вмешательства макроса и юзерформ данной книги в работу других книг?
Особенно проблема актуальна по какой-то причине именно при открытии книги, в работе косяков уже не встречается. Вообще я заметил, почему-то при открытии книги запускаются макросы, которые в принципе не должны запускаться, например, макрос срабатывающий на активацию какого-либо листа, который при открытии не активен.
Изменено: - 26.07.2013 10:27:15