Страницы: 1
RSS
Обратная совместимость VBA по версиям офиса, Почему макрос написанный под 2013 не работает под 2007-2010
 
Столкнулся с очередной проблемой.

Дописал скрипт/макрос. Делал в Excel 2013 х64. Версия VBA 7.1.1049
При тестовом запуске на машинах с Excel 2013 х64 - нет проблем. Все работает как часы.

При запуске на машинах с более ранними версиями (в офисе стоят версии 2007 и 2010 х32, верcия VBA 6.5.1055) выскакивает множество ошибок (ошибка на установлении связи с принтером, в одном случае удаление всех нужных строк, в другом случае НЕ удаление ненужных строк).
Проблема в том, что у нас весь софт лицензионный и обновлять на 50+ машинах офис с 2010 до 2013 как бы мягко говоря накладно.

Возможно есть какие то пути решения такой проблемы? (Поиски дистрибутива либо путей обновления до версии 7.1.1049 не дали результатов).  
 
меняйте код макроса
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Без пары примеров ошибок нечего подсказать. Скорее всего используются API функции, декларировать которые надо для разных версий VBA и битности по-разному.
Если код написан совсем неграмотно, то конечно, возможны ошибки и в более неожиданных местах(например используются свойства и методы, недоступные из 2007 офиса или контролы и компоненты, которых нет или они не установлены на других ПК).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Насчет грамотности я и спорить не буду) ибо практически не писал, а тупо записывал макросы, потом чистил их от шлака.
Написано от силы строк 20 в том числе с Вашей помощью, Дмитрий). Но на них то как раз и нет проблем...

По ходу один выход - пересматривать код (почти 15 страниц) на машинах с 2007-2010 и подгонять под них...  
Страницы: 1
Наверх