2016-08-31 7 views
0

Я разработал определенную пользователем функцию на своем компьютере и сохранил документ как XLSM. Когда я распространял его среди других пользователей в своей компании, они получают ошибку «Не удается найти проект или библиотеку», пока они открывают книгу, а затем нажимают «Включить макросы».EXCEL Определенная пользователем функция - не удается найти проект или библиотеку без ссылки MISSING

Если они попали Debug, желтая линия будет падать на линии головы функции определяемого пользователя, как этого

Error on the first line

Затем я проверил Инструменты - эталону VBE, но ничего не найти пропавший без вести в все компьютеры (мои и другие пользователи).

Но Ссылка небольшая разница немного,

В моем компьютере, это

Reference in Developer's Computer

В компьютере других пользователей, это

Reference in other user

только разница - выделенная линия. На моем компьютере находится офис Microsoft 16.0 Объектная библиотека, так как я установил Project 2016 с Excel 2013. Пока другие 15.0.

Кстати, я получаю вышеуказанное изображение, прежде чем нажимать кнопку «Включить макрос», так как однажды я ударил его, сообщение об ошибке будет отображаться бесконечно, и я никогда не смогу войти в ссылку в VBE. Поэтому возможно, что будет ссылка MISSING, когда код действительно запущен.

ответ

2

Эта проблема, скорее всего, вызвана различными версиями библиотеки объектов Microsoft Office.

Вы можете попробовать экспортировать код VBA и удалить модуль VBA в свой xlsm-файл, а затем снова вставить код VBA на компьютеры пользователей. Обычно проблема будет решена.

Причина, по которой эта проблема возникает, заключается в том, что Excel фактически сохраняет скомпилированный код VBA, хотя мы никогда не видим компилированных кодов или скомпилированных пакетов. Когда другие пользователи открывают ваш Macros Enabled, Excel автоматически запускает скомпилированный машинный код вместо читаемого исходного кода. Из-за разных интерфейсов (я предполагаю, что это называется интерфейсом?) Для разных библиотек в машинных кодах, Excel не может найти библиотеку и ошибку.

Итак, вы можете попробовать декомпилировать код VBA, прежде чем распространять свои файлы XLSM. Посетите эту страницу, чтобы загрузить инструмент для декомпиляции файла XLSM: VBA Decompiler

1

Это, вероятно, происходит, когда вы используете ранний связывание где-то в коде (я не вижу, как это происходит в codepart на скриншоте).

Обходным решением было бы изменить ваш код, чтобы использовать позднюю привязку. Пожалуйста, взгляните на ответ Siddharth Rout в Preventing Excel VBA compile errors due to users having an older version of MS Office (MS Outlook) installed? для получения дополнительной информации.

 Смежные вопросы

  • Нет связанных вопросов^_^