"Не удается найти проект или библиотеку" для стандартных функций VBA

поэтому мне приходится запускать приложение excel на своем ПК, и я получаю "не могу найти проект или библиотеку" на стандартных функциях, таких как дата, формат, hex, mid и т. д.

некоторые исследования показывают, что если я префикс этих функций с "VBA."как в" VBA.Свидание", тогда все будет хорошо.

веб-страницы предполагают, что это связано с моими ссылками на проект в моей системе, тогда как они должны быть в порядке в системе разработчика. Я собираюсь разобраться с этим в течение некоторого времени от другие, и будут распространять эти приложения для многих других, поэтому мне нужно понять, что не так с моей установкой excel, которую мне нужно исправить, или что нужно изменить в файле xls, чтобы он работал на различных системах. Я бы не хотел, чтобы все использовали "VBA".- в качестве прямой ссылки, но если нет идеального решения, то, полагаю, нам придется это сделать.

  • как сделать " VBA."подразумевается в моем проекте свойства / ссылки / etc?

Адам

5 ответов


Я видел ошибки в стандартных функциях, если отсутствовала ссылка на совершенно другую библиотеку.

в Редакторе VBA запустите команду Compile из меню, а затем проверьте диалоговое окно References, чтобы увидеть, если что-то отсутствует, и если да, попробуйте добавить эти библиотеки.

В общем, кажется хорошей практикой скомпилировать полный код VBA, а затем сохранить документ перед распространением.


У меня была та же проблема. Это сработало для меня:

  • в VB перейдите к инструментам " ссылки
  • снимите флажок с библиотеки "Crystal Analysis Common Controls 1.0". Или любую библиотеку.
  • просто оставьте эти 5 ссылок:
    1. Visual Basic для приложений (это библиотека, которая определяет язык VBA.)
    2. библиотека объектов Microsoft Excel (это определяет все элементы Excel.)
    3. автоматизация OLE (это указывает типы для связывания и встраивания документов и для автоматизации других приложений и" сантехники " системы COM, которую Excel использует для связи с внешним миром.)
    4. Microsoft Office (это определяет вещи, которые являются общими для всех программ Office, таких как панели команд и элементы управления панели команд.)
    5. Microsoft Forms 2.0 это необходимо, если вы используете форму пользователя. Эта библиотека определяет такие элементы, как форма пользователя и элементы управления, которые можно разместить в форме.
  • Затем Сохранить.

Я испытал эту точную проблему и обнаружил, что на машине пользователей одна из библиотек, от которой я зависел, была отмечена как "отсутствует" в диалоговом окне "ссылки". В этом случае это была библиотека шрифтов office, доступная в моей версии Office 2007, но не на клиентском рабочем столе.

ошибка, которую вы получаете, является полной Красной селедкой (как указано divo).

к счастью, я ничего не использовал из библиотеки, поэтому я смог удалить его из XLA ссылки полностью. Я думаю, что расширение divo ' предложило бы лучшую практику для тестирования, чтобы проверить XLA на всех целевых версиях Office (в любом случае неплохая идея).


в моем случае это было то, что функция была неоднозначной, поскольку она была определена в библиотеке VBA (присутствует в моих ссылках), а также в библиотеке объектов Microsoft Office (также присутствует). Я удалил библиотеку объектов Microsoft Office и вуаля! Нет необходимости использовать VBA. префикс.


в моем случае я проверял работу, выполненную на моем офисном компьютере (с установленным Visio) дома (без Visio). Несмотря на то, что VBA, казалось, зависал на простых функциях по умолчанию, проблема заключалась в том, что у меня были ссылки на библиотеки Visio, все еще активные.