none
Несовметимость макросов в Excel 2010 и 2007 RRS feed

  • Общие обсуждения

  • Столкнулся с такой проблемой.

    В компании используем Microsoft Office 2007. В Excel 2007 много файлов используют макросы.

    Файлы в формате Excel 2007.

    Иеперь начали постепенный переход на Microsoft Offie 2010.

    На рабочем месте сотрудник поработал с общим excel-файлом с макросом и сохранил изменения. После этого у всех пользователей, работающих с Excel 2007 возникла ошибка:

    Microsoft Visual Basic. Compile Error: Can't find project or library.

    Я нашёл, что Office 2010 использует библиотеку ver14.0, а Office 2007 - ver12.0.

    Т.е. как только пользователь Office 2010 поработает с файлом, то в него добавляется ссылка на библиотек 14.0. А пользователь Office 2007, открывая этот файл, получает ошибку, т.к. библиотеки 14.0 нет.

    Вопрос - как решить проблему, чтобы с общими файлами с макросами могли работать одновременно пользователи и Office 2007, и Office2010?

    Насколько я понял, добавить в Office 2007 библиотеку 14.0 не получитсься. Какой тогда выход? Одномоментный переход всех сотрудников на Office 2010 невозможен. Длительное время Office 2007 и Office 2010 должны сосуществовать.

    Спасибо!

     

    • Изменен тип Vinokurov YuriyModerator 4 мая 2011 г. 4:23 давность и отсутствие активности в теме
    22 апреля 2011 г. 4:47

Все ответы

    1. Какую именно библиотеку требует макрос? Может быть, можно переделать без нее, переписать код?
    2. Откомпилируйте все макросы в 2007. Сохраните файл. Попробуйте открыть, выполнить макросы в 2010. Получилось?
    3. Можно  иметь  отдельные макросы для 2007 и 2010, то есть отдельные исполняемые файлы. Кстати, я не знаю почему, но по факту обнаруживается совместимость откомпилированных надстроек xla  для 2003 и 2010, но не для 2007. И возможны неприятные вещи : подвисание 2007, если загружается откомпилированная в 2003/2010 надстройка. Может быть, с xlam не так. Можно (и это самое правильное решение) попытаться разделить ваш файл на "данные" и "программу", например,  экспортировав данные в базу данных и создав диапазон данных, который будет доступен макросам.
    22 апреля 2011 г. 10:02
  • 1. Ругается на следующую библиотеку:
    MISSING: Microsoft Word 14.0 Object Library
    2

    2. Попробую на одном файле.

    3. Отдельные макросы было бы очень неудобно - десятки файлов с макросами. По времени большие затраты на такую работу.

    Дело ещё в том, что макросы писались несколько лет назад другими людьми. Я сисадмин, но не программист на VBA, поэтому и надеюсь на какое-то истемное решение для проблемы.

    Не ожидал такой подставы от Microsoft в виде проблемы неполной совместимости Office 2007 b 2010.

     

    22 апреля 2011 г. 10:44
  • В VBA для Office 2010 были добавлены новые методы и объекты - скорее всего, сотрудник использовал их. В противном случае, ничего бы не произошло. В качестве системного решения есть партнерская разработка от Converter Technologies, позволяющая мигрировать VBA-проекты. Как у вас успехи с перекомпилированием?


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
    Follow MSTechnetForum on Twitter

    Посетите Блог Инженеров Доклады на Techdays: http://www.techdays.ru/speaker/Vinokurov_YUrij.html
    27 апреля 2011 г. 13:04
    Модератор