Первые три элемента фона:
- Я создал шаблон Excel, который, в свою очередь, используется для создания «персонализированного шаблона», в котором имя пользователя, пользовательский комментарий и пути сохранения данных встроены в персонализированный шаблон.
- Персонализированный шаблон используется для создания ежемесячных рабочих книг (фактически табелей учета рабочего времени)
- Шаблон был создан в Office/Excel 2007, работающем под управлением Vista, но (текущая) целевая среда — это корпоративная сеть, работающая под управлением Office/Excel 2003 под управлением XP Professional. Поэтому оба шаблона создаются как шаблоны Excel 2003 (которые в среде разработки работают в режиме совместимости)
Пока все хорошо — шаблоны хорошо работают в среде разработки — код «персонализации» находится в подпрограмме WorkBook_Open(
) под «ThisWorkbook» — он запускается, УДАЛЯЕТ СЕБЯ и сохраняется как персонализированный шаблон. Оба шаблона имеют «макросы процесса» в коде Sheet1 (принцип здесь заключается в том, что исходный шаблон имеет макросы в «ThisWorkbook» и «Sheet1»; персонализированный шаблон имеет макросы только в «Sheet1» и рабочие книги, созданные из персонализированного шаблона НЕТ МАКРОСОВ ВООБЩЕ.
Во время «бета-тестирования» у меня были проблемы с Excel2000 под XP (форматы файлов), и на целевой машине моя процедура WorkBook_Open была удалена в основном шаблоне (вместо персонализированного шаблона) — хотя в Excel2007/Vista все работало нормально.
В то время я чувствовал, что недопустимое удаление Workbook_Open, вероятно, было ошибкой кодирования, но, исследуя проблемы, я нашел ряд ссылок на «Macafee, удаляющий модули VBA». Я не смотрел на них, но осознавал, что на целевой машине (и в среде) работает Macafee, в то время как на всех моих компьютерах работает Norton.
Перекодировав, я успешно перепроверил следующее:
a) Excel 2007/Vista/Norton
b) Excel 2007/XP Professional/Norton
c) Excel 2000/XP Home/Norton
поэтому чувствовал себя комфортно, чтобы повторно протестировать в Excel 2003/XP Professional/Macafee
На этот раз я наблюдал за этим - так что еще раз увидел, что процедура WorkBook_Open была неправильно удалена из основного шаблона - к сожалению, это было всего за несколько мгновений до того, как ключ памяти USB (откуда запускался шаблон) был полностью уничтожен.
Итак, к вопросу (ам) - прежде чем я снова пройду весь процесс:
- Есть ли объективные доказательства того, что Macafee удаляет «автозапускаемые» модули VBA?
- Если да, есть ли какой-нибудь обходной путь (этот шаблон будет использоваться тремя людьми на предприятии с десятью тысячами - так что я никак не смогу повлиять/изменить политики безопасности!!! :( ) - если есть проблема с Macafee, тогда мне придется все переосмыслить!