У нас есть несколько пользовательских надстроек Excel, разработанных для работы с Excel 2003. Мы хотели бы перейти на Office 2013, но в новой версии надстройки не работают должным образом. Можно ли конвертировать эти надстройки для работы с Office 2013? Если так, то как лучше всего конвертировать их?
2 ответа
Насколько я знаю, нет никакой утилиты для преобразования кода VBA из одного старого Office в другой. По мере появления каждой новой версии объектная модель менялась множеством мелких изменений; Было предпринято внушительное усилие для сохранения прямой совместимости, но проблемы все еще были неизбежны (я сталкивался с ними сам). Я должен представить, что было бы слишком сложно создать универсальный инструмент преобразования, который гарантированно сохранил бы функциональность старого кода.
Поэтому я боюсь, что вы столкнулись с кампанией отладки / перекодирования, чтобы ваши пользовательские надстройки снова работали в Excel 2013. Мой предпочтительный ресурс для такого рода вещей - MSDN; когда код выдает ошибку, ищите проблемный объект / функцию в Google, скажем, с помощью Excel Range.FillDown site:msdn.microsoft.com
. Мы надеемся, что он предоставит достаточную информацию для того, чтобы код снова заработал, если у вас есть кто-то с разумным опытом программирования для его интерпретации.
Если у вас нет подходящего разработчика программного обеспечения под рукой, вы можете попробовать внештатный контрактный сервис, такой как eLance.
Ваш офис 2013 года 64-битный? Если это так, источником проблемы может быть не сам Office 2013. 64-битные и 32-битные макросы не являются конкурентоспособными. Вы можете попробовать установить 32-битную версию.