Cant find project or library макрос ошибка excel

Обновлено: 06.07.2024

При открытии в безопасном режиме файл повторяет всё то же самое.

Подскажите, пожалуйста, может кто сталкивался - как получить доступ к содержимому файла в обход ошибки?

При открытии в безопасном режиме файл повторяет всё то же самое.

Подскажите, пожалуйста, может кто сталкивался - как получить доступ к содержимому файла в обход ошибки? Rioran

При открытии в безопасном режиме файл повторяет всё то же самое.

Подскажите, пожалуйста, может кто сталкивался - как получить доступ к содержимому файла в обход ошибки? Автор - Rioran
Дата добавления - 10.09.2015 в 17:58

А если открыть в OpenOffice?
Или при открытии в Excel держать нажатым Шифт? А если открыть в OpenOffice?
Или при открытии в Excel держать нажатым Шифт? _Boroda_ _Boroda_, OpenOffice недоступен. Попробовал Шифт - открылись все файлы в той же папке, но нужный всё-равно не захотел. _Boroda_, OpenOffice недоступен. Попробовал Шифт - открылись все файлы в той же папке, но нужный всё-равно не захотел. Rioran

Саш, так он просто запуск макросов отключит, но линки на отсутствующие компоненты он не удалит.
Роман, а программно (Workbooks.Open) открывать не пробовал? (можно еще попробовать указать параметр CorruptLoad = xlRepairFile или xlExtractData)

UPD И перед открытием установи [vba]

Application.AutomationSecurity = msoAutomationSecurityForceDisable

Саш, так он просто запуск макросов отключит, но линки на отсутствующие компоненты он не удалит.
Роман, а программно (Workbooks.Open) открывать не пробовал? (можно еще попробовать указать параметр CorruptLoad = xlRepairFile или xlExtractData)

UPD И перед открытием установи [vba]

Application.AutomationSecurity = msoAutomationSecurityForceDisable

Саш, так он просто запуск макросов отключит, но линки на отсутствующие компоненты он не удалит.
Роман, а программно (Workbooks.Open) открывать не пробовал? (можно еще попробовать указать параметр CorruptLoad = xlRepairFile или xlExtractData)

UPD И перед открытием установи [vba]

Application.AutomationSecurity = msoAutomationSecurityForceDisable [/vba] Автор - KSV
Дата добавления - 10.09.2015 в 19:49 Сергей, пробовал с ReadOnly = True. Как ты сказал - завтра попробую. Сергей, пробовал с ReadOnly = True. Как ты сказал - завтра попробую. Rioran

KSV, большое спасибо, помогло. Делал следующее:

[/vba]
anvg, спасибо за хороший совет. В нормальный файл не попала папка "externalLinks".

KSV, большое спасибо, помогло. Делал следующее:

[/vba]
anvg, спасибо за хороший совет. В нормальный файл не попала папка "externalLinks". Rioran [/vba]
anvg, спасибо за хороший совет. В нормальный файл не попала папка "externalLinks". Автор - Rioran
Дата добавления - 11.09.2015 в 10:59

Знатоки, подскажите, пожалуйста, в чем может быть проблема, часто "ломаются" файлы с макросами.

Подскажите, пожалуйста, в какую сторону копать?

ps Windows 10 Pro 64, Excel 2013 (15.0.5311.1000, 15.0.2575.1000) 64

Знатоки, подскажите, пожалуйста, в чем может быть проблема, часто "ломаются" файлы с макросами.

Подскажите, пожалуйста, в какую сторону копать?

ps Windows 10 Pro 64, Excel 2013 (15.0.5311.1000, 15.0.2575.1000) 64 fikusnik

Подскажите, пожалуйста, в какую сторону копать?

ps Windows 10 Pro 64, Excel 2013 (15.0.5311.1000, 15.0.2575.1000) 64 Автор - fikusnik
Дата добавления - 12.02.2021 в 14:37

Вы сами написали макрос и кому-то выслали. Макрос хороший и рабочий. Вы сами проверили и перепроверили. Но тут Вам сообщают - "Макрос не работает". Выдает ошибку - 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.

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

Sub 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

Но для работы этого макроса необходимо:

  1. проставить доверие к проекту VBA:
    Excel 2010-2019 - Файл-Параметры-Центр управления безопасностью-Параметры макросов-поставить галочку "Доверять доступ к объектной модели проектов VBA"
    Excel 2007 - Кнопка Офис-Параметры Excel-Центр управления безопасностью-Параметры макросов-поставить галочку "Доверять доступ к объектной модели проектов VBA"
    Excel 2003 - Сервис - Параметры-вкладка Безопасность-Параметры макросов-Доверять доступ к Visual Basic Project
  2. проект VBA не должен быть защищен.

Так же Can't find project or library возникает если у Вас просто не подключена какая-либо библиотека, которая используется в коде. Тогда не будет MISSING. Надо просто определить, в какую библиотеку входит константа, объект или свойство, которое выделяет редактор при выдаче ошибки, и подключить эту библиотеку.
Например, есть такой кусок кода:

Wondershare Recoverit Authors

David Darlington

2021-03-25 20:28:03 • Обновлено: Восстановление файлов • Проверенные решения

При использовании документа MS Excel или MS Access, которые ассимилируют функции или кнопки, которым требуется VBA (с англ. Visual Basic Applications или приложения Visual Basic) для макросов для выполнения определенной задачи, пользователь может получить ошибку компиляции "Не удается найти проект или библиотеку."

Какова причина этой ошибки?

Решение 1. Добавление или удаление ссылки в библиотеке

Первое решение для исправления ошибки “Не удается найти проект или библиотеку“ в MS Access - это удалить ссылку на библиотеку. Для этого вы можете проследовать этой пошаговой инструкции:

Шаг 1: Запустите MS Access на вашем компьютере и откройте базу данных/приложение, в котором отображается ошибка.

Шаг 2: Теперь одновременно нажмите “Alt” + “F11”, чтобы открыть окно редактора VBA.

Шаг 3: Теперь нажмите кнопку “Инструменты” в верхней строке меню и в раскрывающемся меню выберите “Настройки“.


Шаг 4: В следующем диалоговом окне снимите флажок “Отсутствует: объект Microsoft Access” и нажмите “Ok”, чтобы сохранить изменения.


Restart MS Access and check if you encounter the same error anymore or not.

Шаг 1: Правой кнопкой мыши нажмите на кнопку “Начать”, затем нажмите “Командная строка (админ)”, чтобы запустить командную строку от имени администратора.

Шаг 2: Как только вы окажетесь в окне CMD, просто введите REGSVR32 “Путь к файлу DLL, который вы хотите зарегистрировать”. Например, REGSVR32 “C:\Program Files\Blackbaud\The Raisers Edge 7\DLL\RE7Outlook.dll”.


Это зарегистрирует нужный файл библиотеки, и вы больше не столкнетесь с той же ошибкой.

Решение 3: Попробуйте отменить регистрацию или повторно зарегистрировать библиотеку

Шаг 1: Нажмите “Windows” + “R” и введите Regsvr32.exe.


Шаг 2: Нажмите Enter и введите полный путь к отсутствующему файлу библиотеки. Например, “regsvr32 “c:\program files\common files\microsoft shared\dao\dao360.dll”.
Если это не устранит ошибку, вы можете просто отменить регистрацию файла библиотеки. Для этого замените “Regsvr32.exe“ на “regsvr32 -u“ и снова вставьте путь к библиотеке.

Вот и все; отмена регистрации файла библиотеки устранит ошибку “не удается найти проект или библиотеку“, и вы сможете работать с базой данных MS Access без каких-либо помех.

Видеоурок по исправлению ошибки "Не удается найти проект или библиотеку"

Последние видео от Recoverit

Решение 4: Восстановите файл MS Excel с помощью инструмента восстановления Excel

Это программное обеспечение для восстановления файлов Excel доступно как для одной, так и для нескольких систем. Инструмент восстановления файлов поддерживает все версии Windows, а также Excel 2011 для Mac. Он позволяет восстановить поврежденный файл Excel (.XLS и .XLSX) и вернуть все данные из поврежденного файла в новый файл Excel.

Шаг 1. Выберите поврежденный файл Excel с диска и выполните поиск.

repair corrupt Excel file with repair tool step 1

Шаг 2. Выберите один или все поврежденные файлы Excel, чтобы начать процесс восстановления.

repair corrupt Excel file with repair tool step 2

Шаг 3. Просмотрите восстановленный файл Excel.

repair corrupt Excel file with repair tool step 3

Шаг 4. Выберите предпочтительное место для сохранения восстановленного файла Excel.

repair corrupt Excel file with repair tool step 4

Помимо инструмента восстановления Excel или программного обеспечения для восстановления файлов Excel, помочь вам в быстром восстановлении (для восстановления или исправления поврежденного файла Excel) могут несколько наших советов:

Конфигурация компьютера
Процессор: AMD Ryzen 5 1600
Материнская плата: GIGABYTE B450M DS3H
Память: Kingston ValueRAM [KVR24N17S8/8] 8 ГБ
HDD: KINGSTON SV300S37A120G ATA 120ГБт SSD; SAMSUNG HD501LJ, SATA, 500ГБт; ST2000VM003-1CT164 ATA Device 2ТБт
Видеокарта: GIGABYTE Radeon R7 250 1100Mhz PCI-E 3.0 2048Mb 1800Mhz 128 bit DVI HDMI HDCP
Звук: Realtek ALC887
Блок питания: CoolerMaster MasterWatt Lite 600W, 2019
Монитор: Samsung SyncMaster 2443, 24''
ОС: Windows 10 Pro 64Bit
Понятно, что ей библиотек не хватает. Но как узнать, чего именно? »
dislike, у вас есть доступ к VBA-проекту в редакторе по alt+F11?
Зайдите в Tools-References, проверьте наличие пунктов с надписью MISSING, если присутствуют - уберите галочки.
Если проблема сохранится - запустите код, получите ошибку, после чего в VBA редакторе посмотрите какая строчка выделена. Озвучьте, либо посмотрите в поиске, какую библиотеку нужно подключить.

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

dislike, коль Вы не приложили архив с документом, надо полагать он особо секретный?

Alt-F11, ищете обработчик «любой кнопки», устанавливаете точку останова, нажимаете кнопку и начинаете отлаживать. Для начала можете действительно проверить наличие всех необходимых библиотек (\Tools\References). Разумеется, если проект не закрыт от просмотра.

Update: Коллега a_axe оказался быстрее .

у вас есть доступ к VBA-проекту в редакторе по alt+F11? »

Это я уже пробовал, эта менюшка неактивна совсем (

коль Вы не приложили архив с документом, надо полагать он особо секретный? »

Да фиг его знает. Бухгалтерская приблуда с информациями по банковским картам, лучше не светить, а то б конечно выложил

Alt-F11, ищете обработчик «любой кнопки», устанавливаете точку останова, нажимаете кнопку и начинаете отлаживать.
Спасибо, но можно поподробнее, как для идиота? Я такими вещами ещё не занимался, буду долго тыкаться как слепой котенок, и увы, времени детально разбираться совершенно нет, работой завалили всей и сразу
Make sure you're not in Break Mode. Try clicking Run->Reset.
Конфигурация компьютера
Процессор: AMD Ryzen 5 1600
Материнская плата: GIGABYTE B450M DS3H
Память: Kingston ValueRAM [KVR24N17S8/8] 8 ГБ
HDD: KINGSTON SV300S37A120G ATA 120ГБт SSD; SAMSUNG HD501LJ, SATA, 500ГБт; ST2000VM003-1CT164 ATA Device 2ТБт
Видеокарта: GIGABYTE Radeon R7 250 1100Mhz PCI-E 3.0 2048Mb 1800Mhz 128 bit DVI HDMI HDCP
Звук: Realtek ALC887
Блок питания: CoolerMaster MasterWatt Lite 600W, 2019
Монитор: Samsung SyncMaster 2443, 24''
ОС: Windows 10 Pro 64Bit
Цитата a_axe:
у вас есть доступ к VBA-проекту в редакторе по alt+F11? »
Есть »

dislike, имеется ввиду, что вы можете увидеть и отредактировать любую часть текста кода VBA?
Т.е. в VBA редакторе в project explorer (окошко в левой части экрана с отображением проекта вида VBAProject(Имя_файла) ), по нажатию на плюсик у вас открывается содержимое, и вы видите код любого листа/модуля (а не просто ограничились фактом открытием редактора)?

Если нажатие на плюсик дает ошибку, то возможны варианты:

PS. ну понятное дело - указанный Break Mode нужно проверить в первую очередь.

Make sure you're not in Break Mode. Try clicking Run->Reset. »

Ага, сделал, там ошибка
Missing: OnBttnAddInForWord 1.0 Type Library
и ссылается это все в директорию офиса / Office14 / onbttnwd.dll

Файла такого естественно нет

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

Читайте также: