Can t find project or library vba как исправить
Перейти к содержимому

Can t find project or library vba как исправить

  • автор:

Не удается найти проект или библиотеку

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

Эта ошибка имеет следующие причины и способы решения:

  • Не удалось найти проект, на который указывает ссылка, или не удалось найти указанную библиотеку объектов, соответствующую языку проекта. К неразрешенным ссылкам в диалоговом окне Ссылки добавляется префикс MISSING. выберите отсутствующую ссылку, чтобы отобразить путь и язык отсутствующего проекта или отсутствующей библиотеки. Выполните следующие действия, чтобы разрешить ссылки:

Разрешение ссылок

  1. Отобразите диалоговое окно Ссылки.
  2. Выберите отсутствующую ссылку.
  3. Запустите обозреватель объектов.
  4. Используйте диалоговое окно Обзор, чтобы найти отсутствующую ссылку.
  5. Нажмите кнопку ОК.
  6. Повторяйте описанные выше действия, пока не будут разрешены все отсутствующие ссылки.

Когда вы найдете отсутствующий элемент, префикс MISSING удаляется, указывая на то, что ссылка восстановлена. Если изменилось имя файла проекта, на который указывает ссылка, добавляется новая ссылка, а старую ссылку следует удалить. Чтобы удалить ненужную ссылку, просто снимите флажок рядом с ней. Обратите внимание на то, что ссылки на библиотеку объектов Visual Basic и библиотеку объектов ведущего приложения нельзя удалить.

Приложения могут поддерживать разные языковые версии своих библиотек объектов. Чтобы выяснить требуемую языковую версию, щелкните ссылку и просмотрите, какой язык указан в нижней части диалогового окна. Библиотеки объектов могут представлять собой отдельные файлы с расширением OLB или быть интегрированными в библиотеку динамической компоновки (DLL) Для каждой платформы могут существовать библиотеки объектов разных версий. Таким образом, при перемещении проектов с одной платформы на другую, например из Macintosh в Microsoft Windows, в расположении, указанном в документации к ведущему приложению, должна находиться правильная языковая версия библиотеки, на которую приведена ссылка, для данной платформы.

Имена файлов библиотек объектов обычно формируются следующим образом:

  • Windows (версии 3.1 и более ранней): код приложения + код языка + [версия].OLB. Например, французская библиотека объектов Visual Basic для приложений для версии 2 называлась vafr2.olb. Французская библиотека объектов Microsoft Excel 5.0 называлась xlfr50.olb.
  • Macintosh: Имя приложения Код языка [версия] OLB. Например: французская библиотека объектов Visual Basic для приложений для версии 2 называлась VA FR 2 OLB. Французская библиотека объектов Microsoft Excel 5.0 называлась MS Excel FR 50 OLB.

Если вы не можете найти в системе отсутствующий проект или библиотеку объектов, обратитесь к автору ссылающегося проекта. Если отсутствующая библиотека является библиотекой объектов приложений корпорации Майкрософт, вы можете получить ее следующим способом:

  • Если у вас есть доступ к электронным службам технической поддержки Майкрософт, обратитесь к разделу технической поддержки этого файла справки. В подразделе электронных служб содержатся инструкции по использованию соответствующего параметра службы.
  • Если у вас нет доступа к электронным службам технической поддержки Майкрософт, то библиотеки объектов Microsoft доступны по запросу указания по применению из Майкрософт. Сведения о том, как можно связаться с местной организацией по технической поддержке Майкрософт, также доступны в разделе технической поддержки этого файла справки.

Для получения дополнительной информации выберите необходимый элемент и нажмите клавишу F1 (для Windows) или HELP (для Macintosh).

Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Can t find project or library vba как исправить

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Can t find project or library vba как исправить

Проблема возникла после переносов проекта VBA (шаблона dotm) между версиями Word:
1. проект создан в Word 2007
2. проект открыт в Word 2010, изменен
3. проект открыт снова в Word 2007.
После шага 3 возникла эта ошибка.
Запускаю некий макрос, он начинает выполняться. При переходе на определённую процедуру (всегда одну и ту же) выдает: «Compile error, Can’t find project or library». Желтая стрелка переходит на первую строчку процедуры.
Причем: эта процедура в Word 2010 не правилась.

Возможно, кто-то с этим сталкивался, и посоветует что-нибудь.

Форумчанин
Регистрация: 24.12.2012
Сообщений: 906

cw_o, в процедуре используется какая-то библиотека, которой нет на данном компьютере.

Попробуйте пройтись по процедуре с помощью клавиши «F8» и может увидите строку процедуры, где происходит ошибка.

Предположу, что ошибка происходит при создании объектной переменной.

Форумчанин
Регистрация: 29.09.2008
Сообщений: 378

Попробуйте просто, ничего не меняя, пересохранить файл в нужной вам версии Word.

У меня было такое, что документ с макросами, созданный в Word 2003, при открытии в новых версиях выдавал ошибку «Can’t find project or library». Все библиотеки присутствовали, просто был какой-то сбой. Помогало пересохранение, причем в том же формате doc.

Макросы на заказ и готовый пакет — http://mtdmacro.ru/

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
compile error can’t find project or library redwert Microsoft Office Excel 2 20.06.2012 15:15
Работа в Ворде омрачена, Can’t find project or library — Не удается найти проект или библиотеку Ципихович Эндрю Microsoft Office Word 6 11.09.2011 10:50
vector, find. «binary ‘==’: no operator found which takes a left-hand operand of type . » TwiX Общие вопросы C/C++ 7 30.08.2011 20:49
Ошибка при использовании OlePropertyGet(«Documents»).OleProcedure(«Add») в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
Ошибка:»Project raised exception class EConvertError. » Gambit90 Помощь студентам 6 14.01.2009 14:12

Can t find project or library vba как исправить

Запись: xintrea/mytetra_db_adgaver_new/master/base/151499454111wr00k50l/text.html на raw.githubusercontent.com

Ошибка — Cant find project or library

Вы сами написали макрос и кому-то выслали. Макрос хороший и рабочий. Вы сами проверили и перепроверили. Но тут Вам сообщают — » Макрос не работает «. Выдает ошибку — Can’t find project or library . Вы запускаете файл — нет ошибки. Еще раз — нет. Как ни пытаетесь, какие данные не подсовываете, а ошибки такой нет. Вы уверены, что файл рабочий полностью (и верно — ведь у Вас работает) , а Вам пытаются доказать обратное. Вы начинаете долго объяснять как пользоваться, что делать и т.д. и т.п. Ошибка не исчезает. Что делать-то? В чем проблема? Даже офис переустановили — у Вас работает, у них нет. А проблема проста: как и любой программе, VBA нужно иметь свой набор библиотек и компонентов, посредством которых он взаимодействует с Excel (и не только) . И в разных версиях Excel эти библиотеки и компоненты могут различаться. И когда Вы делаете у себя программу, то VBA ставит ссылку (или же Вы сами) на какой-либо компонент либо библиотеку, которая может отсутствовать на другом компьютере. Вот тогда и появляется эта ошибка. Что же делать? Все очень просто:

  1. Открываете редактор VBA
  2. Идете в Tools — References
  3. Находите там все пункты, напротив которых красуется MISSING . Снимаете с них галочки.
  4. Жмете Ок.
  5. Сохраняете файл.

Эти действия необходимо проделать, когда выполнение кода прервано и ни один код проекта не выполняется. Возможно, придется перезапустить Excel. И все это должен проделать человек, у которого данная ошибка возникла. Это не всегда удобно. А поэтому лично я рекомендовал бы не использовать сторонние библиотеки и раннее связывание, если это не вызвано необходимостью. Всегда проверяйте ссылки в файлах перед отправкой получателю. Оставьте там лишь те ссылки, которые необходимы, либо которые присутствуют на всех версиях. Смело можно оставлять следующие (это касается именно VBA-Excel) :

  • Visual Basic for application (эту ссылку Вы попросту не сможете отключить) ;
  • Microsoft Excel XX.0 Object Library (вместо X версия приложения — 12, 11 и т.д.) -эту ссылку Вы не сможете отключить;
  • Microsoft Forms X.0 Object Library (эту ссылку Вы не сможете отключить) ;
  • OLE Automation (хотя она тоже не нужна — но и вреда никакого) .

Может я перечислил не все — но эти точно имеют полную совместимость между разными версиями Excel.

Еще, для автоматического поиска и отключения ошибочных ссылок на такие библиотеки можно делать и макросом:

S ub Remove_MISSING() Dim oReferences As Object, oRef As Object Set oReferences = ThisWorkbook.VBProject.References For Each oRef In oReferences If (oRef.IsBroken) Then oReferences.Remove Reference:=oRef Next End Sub

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *