it-swarm.com.ru

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

Поэтому мне нужно запустить на своем компьютере чужое приложение Excel, и я получаю сообщение «Не могу найти проект или библиотеку» для стандартных функций, таких как дата, формат, шестнадцатеричное, среднее и т.д.

Некоторые исследования показывают, что если я добавлю эти функции к «VBA». как в "VBA.Date", то это будет работать нормально.

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

  • Как мне сделать «VBA». неявные в моем проекте свойства/ссылки/и т. д.?

-Адам

65
Adam Davis

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

В редакторе VBA запустите команду «Компиляция» из меню, а затем проверьте диалоговое окно «Ссылки», чтобы увидеть, отсутствует ли что-нибудь, и если да, попробуйте добавить эти библиотеки.

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

58
Dirk Vollmar

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

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

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

Полученная ошибка - полная красная сельдь (как указано в divo).

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

15
RedBlueThing

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

9
blue_wardrobe

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

0
SmrtGrunt