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

Сообщение будет показано после одобрения модератором.

 

lex

Пользователь

Сообщений: 71
Регистрация: 01.01.1970

Доброй ночи! Нужна помощь мудрецов.    
На листе «Список» если кликнуть по названию организации открывается заполненная форма. Есть кнопка «Создать клиента».  
На моем компе, где создавался и обкатывался файл все работает нормально. На любом другом при попытке открыть заполненную форму выскакивает ошибка «Can’t find project or library», открывается мой VBA проект с указанием места ошибки в тексте — это запись «[A2]» во второй строке текста в коде листа «Список».
Если это место исправляю, ошибка переползает далее по тексту. И так до бесконечности, до конца проекта. Но работать в итоге все равно отказывается. Пробовал на разных машинах, с различным офисом и ОС.  
У меня XP sp3, Office 2007 с кучей автоматически установленных обновлений от Microsoft. Кстати на ряде других компов стоял тот же софт.  
В чем может быть дело? Каких библиотек может не хватать?  
Заранее спасибо!

 

Alt-F11 / меню Tools / References / снять флажок с Ref Edit Control

 

lex

Пользователь

Сообщений: 71
Регистрация: 01.01.1970

Спасибо! Заработало! А в чем прикол этого флажка? И почему работало только на одном компе?

 

lex

Пользователь

Сообщений: 71
Регистрация: 01.01.1970

 

seergy

Пользователь

Сообщений: 64
Регистрация: 01.01.1970

#5

29.07.2009 08:09:17

так и не понял чем это лечить програмно. Например, если проект защищён и переходит от одного компа к другому…    
Использую следующие варианты.  
1) использовать позднее связывание с др. приложениями…    
2) Отключить все не используемые библиотеки… перед сохранением файла. Сделать фаг или надстройку для подключения нужных библиотек с контролами и др. предложениями..  
3) прикладывать сист. файлы .olb, .dll и др. либо указывать какой сервиспак поставить и прочие ситемные заплатки…  
Вопрос так есть ли универсальный метод лечить эту ошибку програмно.  
С увадением….

Сообщение будет показано после одобрения модератором.

0 / 0 / 0

Регистрация: 19.01.2016

Сообщений: 2

1

27.09.2016, 18:56. Показов 41459. Ответов 5


Студворк — интернет-сервис помощи студентам

Здравствуйте, у меня есть файл ексель с макросами, раньше все работало нормально, сейчас открываю и выдает ошибку «Microsoft Visual Basic for Applications» «Сan’t find project or library», далее нажимаю «ок» и Excell закрывается.

Читал другие темы, предлагают зайти в VBA — Refences и снять галочки с библиотек MISSING, но не могу, так как не могу открыть файл

Раньше на этом же компе этот файл работал без проблем

Поможете?

Спасибо!



0



Shersh

Заблокирован

27.09.2016, 19:23

2

Лучший ответ Сообщение было отмечено plyacik как решение

Решение

Открывайте файл с нажатым [Shift]`ом.
О результатах (хотя бы отрицательных) отпишитесь — будем думать дальше.



1



1342 / 312 / 76

Регистрация: 13.11.2008

Сообщений: 644

27.09.2016, 21:02

3

Цитата
Сообщение от plyacik
Посмотреть сообщение

далее нажимаю «ок»

А нажать Debug или End позволяет? Если да — то жмите End. Файл должен открыться, код остановиться. И тогда уже сможете перейти в код.
Либо же откройте Excel, перейдите в параметры и отключите макросы(отключить все макросы без уведомления). Закройте Excel и откройте свой файл. Он запустится без запуска макросов. Уберете все MISSING в References, сохраните файл. Теперь можно включать в параметрах макросы и перезапускать Excel.



1



0 / 0 / 0

Регистрация: 19.01.2016

Сообщений: 2

28.09.2016, 11:32

 [ТС]

4

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

кстати с нажатим Shift’ом тоже получилось, выскочило окно на котором отключил макросы, файл пересохранил и все ок

Спасибо!



0



0 / 0 / 0

Регистрация: 25.02.2020

Сообщений: 3

15.08.2020, 22:07

5

Случилась у меня такая же проблема, и есть там еще один обход.
Вот на этом видео — все рассказано, буквально пара минут: https://www.youtube.com/watch?… e=youtu.be



0



0 / 0 / 0

Регистрация: 03.07.2020

Сообщений: 169

20.04.2021, 11:59

6

Franky101010, не работает решение по указанной ссылке.
При нажатии на кнопку compile — просто ту же самую ошибку выдает.



0



So I’m having to run someone else’s excel app on my PC, and I’m getting «Can’t find Project or Library» on standard functions such as date, format, hex, mid, etc.

Some research indicates that if I prefix these functions with «VBA.» as in «VBA.Date» then it’ll work fine.

Webpages suggest it has to do with my project references on my system, whereas they must be ok on the developer’s system. I’m going to be dealing with this for some time from others, and will be distributing these applications to many others, so I need to understand what’s wrong with my excel setup that I need to fix, or what needs to be changed in the xls file so that it’ll run on a variety of systems. I’d like to avoid making everyone use «VBA.» as an explicit reference, but if there’s no ideal solution I suppose that’s what we’ll have to do.

  • How do I make «VBA.» implicit in my project properties/references/etc?

-Adam

Vincent's user avatar

Vincent

4173 silver badges11 bronze badges

asked Feb 3, 2009 at 14:05

Adam Davis's user avatar

Adam DavisAdam Davis

91.6k59 gold badges262 silver badges330 bronze badges

5

I have seen errors on standard functions if there was a reference to a totally different library missing.

In the VBA editor launch the Compile command from the menu and then check the References dialog to see if there is anything missing and if so try to add these libraries.

In general it seems to be good practice to compile the complete VBA code and then saving the document before distribution.

answered Feb 3, 2009 at 14:24

Dirk Vollmar's user avatar

Dirk VollmarDirk Vollmar

172k53 gold badges255 silver badges315 bronze badges

5

I had the same problem. This worked for me:

  • In VB go to Tools » References
  • Uncheck the library «Crystal Analysis Common Controls 1.0». Or any library.
  • Just leave these 5 references:
    1. Visual Basic For Applications (This is the library that defines the VBA language.)
    2. Microsoft Excel Object Library (This defines all of the elements of Excel.)
    3. OLE Automation (This specifies the types for linking and embedding documents and for automation of other applications and the «plumbing» of the COM system that Excel uses to communicate with the outside world.)
    4. Microsoft Office (This defines things that are common to all Office programs such as Command Bars and Command Bar controls.)
    5. Microsoft Forms 2.0 This is required if you are using a User Form. This library defines things like the user form and the controls that you can place on a form.
  • Then Save.

JimmyPena's user avatar

JimmyPena

8,6966 gold badges43 silver badges64 bronze badges

answered Jul 8, 2011 at 14:18

andres's user avatar

3

I have experienced this exact problem and found, on the users machine, one of the libraries I depended on was marked as «MISSING» in the references dialog. In that case it was some office font library that was available in my version of Office 2007, but not on the client desktop.

The error you get is a complete red herring (as pointed out by divo).

Fortunately I wasn’t using anything from the library, so I was able to remove it from the XLA references entirely. I guess, an extension of divo’ suggested best practice would be for testing to check the XLA on all the target Office versions (not a bad idea in any case).

answered Mar 4, 2009 at 22:44

RedBlueThing's user avatar

RedBlueThingRedBlueThing

41.9k17 gold badges96 silver badges122 bronze badges

In my case, it was that the function was AMBIGUOUS as it was defined in the VBA library (present in my references), and also in the Microsoft Office Object Library (also present). I removed the Microsoft Office Object Library, and voila! No need to use the VBA. prefix.

answered Jul 11, 2009 at 14:14

blue_wardrobeblue_wardrobe

In my case, I could not even open «References» in the Visual Basic window. I even tried reinstalling Office 365 and that didn’t work. Finally, I tried disabling macros in the «Trust Center» settings. When I restarted Excel, I got the warning message that macros were disabled, and when I clicked on «enable» I no longer got the error message.

Later I re-enabled all macros in the «Trust Center» settings, and the error message didn’t show up!

Hey, if nothing else works for you, try the above; it worked for me! :)

Update:
The issue returned, and this is how I «fixed» it the second time:

I opened my workbook in Excel online (Office 365, in the browser, which doesn’t support macros anyway), saved it with a new file name (still using .xlsm file extension), and reopened in the desktop software. It worked.

answered Feb 5, 2020 at 1:09

Sean McCarthy's user avatar

Sean McCarthySean McCarthy

4,7508 gold badges38 silver badges55 bronze badges

2

Even when all references are fine the prefix problem causes compile errors.

What about creating a find and replace sub for all ‘built-in VBA functions’ in all modules,
like this:

replace text in code module

e.g. «= Date» will be replaced with «= VBA.Date».

e.g. » Date(» will be replaced with » VBA.Date(» .

(excluding «dim t As Date» or «mydate»)

All vba functions for find and replace are written here :

vba functions list

answered Dec 4, 2020 at 22:30

Noam Brand's user avatar

Noam BrandNoam Brand

3252 silver badges13 bronze badges

For those of you who haven’t found any of the other answers work for you.

Try this:

Close out of the file, email it to yourself or if you’re at work, paste it from the network drive to your desktop, anything to get it to open in «protected mode».

Now open the file

DON’T CLICK ANY ENABLE EDITING OR THE YELLOW RIBBON

Go to the VBA Editor

Go to Debug — — Compile VBA Project, if «Compile VBA Project» is greyed out, then you may need to click the yellow ribbon one time to enable the content, but DO NOT enable macros.

After you click Compile, save, close out of the file. Reopen it, enable everything and it should be OK. This has worked for me 100% of the time.

answered Nov 3, 2021 at 19:27

Aspiring Developer's user avatar

In my case I was checking work done on my office computer (with Visio installed) at home (no Visio). Even though VBA appeared to be getting hung up on simple default functions, the problem was that I had references to the Visio libraries still active.

answered Feb 5, 2018 at 10:47

SmrtGrunt's user avatar

SmrtGruntSmrtGrunt

85912 silver badges25 bronze badges

I found references to an AVAYA/CMS programme file? Totally random, this was in MS Access, nothing to do with AVAYA. I do have AVAYA on my PC, and others don’t, so this explains why it worked on my machine and not others — but not how Access got linked to AVAYA. Anyway — I just unchecked the reference and that seems to have fixed the problem

answered Oct 9, 2019 at 8:10

Daniel Baker's user avatar

I’ve had this error on and off for around two years in a several XLSM files (which is most annoying as when it occurs there is nothing wrong with the file! — I suspect orphaned Excel processes are part of the problem)

The most efficient solution I had found has been to use Python with oletools
https://github.com/decalage2/oletools/wiki/Install and extract the VBA code all the modules and save in a text file.

Then I simply rename the file to zip file (backup just in case!), open up this zip file and delete the xl/vbaProject.bin file. Rename back to XLSX and should be good to go.

Copy in the saved VBA code (which will need cleaning of line breaks, comments and other stuff. Will also need to add in missing libraries.

This has saved me when other methods haven’t.

YMMV.

answered Sep 21, 2020 at 7:50

Sam's user avatar

Can’t find Library or Project

Rioran

Дата: Четверг, 10.09.2015, 17:58 |
Сообщение № 1

Группа: Авторы

Ранг: Ветеран

Сообщений: 903


Репутация:

290

±

Замечаний:
0% ±


Excel 2013

Всем привет!

Получил на работе .xlsb файл, при открытии которого выдаёт месседж бокс «Can’t find Library or Project» и, после нажатия «ОК», приложение Excel падает и перезапускается. Советом AlexM из ЭТОГО поста (убрать галочки с отсутствующих библиотек на стороне автора) воспользоваться не могу, т.к. связи с создателем файла нет. Файл приложить не могу из корпоративных соображений.

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

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


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

 

Ответить

_Boroda_

Дата: Четверг, 10.09.2015, 18:02 |
Сообщение № 2

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16620


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

А если открыть в OpenOffice?
Или при открытии в Excel держать нажатым Шифт?


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Rioran

Дата: Четверг, 10.09.2015, 19:21 |
Сообщение № 3

Группа: Авторы

Ранг: Ветеран

Сообщений: 903


Репутация:

290

±

Замечаний:
0% ±


Excel 2013

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


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

 

Ответить

KSV

Дата: Четверг, 10.09.2015, 19:49 |
Сообщение № 4

Группа: Друзья

Ранг: Ветеран

Сообщений: 770


Репутация:

255

±

Замечаний:
0% ±


Excel 2013


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

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

Код

Application.AutomationSecurity = msoAutomationSecurityForceDisable

[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333

Сообщение отредактировал KSVЧетверг, 10.09.2015, 21:40

 

Ответить

Rioran

Дата: Четверг, 10.09.2015, 19:54 |
Сообщение № 5

Группа: Авторы

Ранг: Ветеран

Сообщений: 903


Репутация:

290

±

Замечаний:
0% ±


Excel 2013

Сергей, пробовал с ReadOnly = True. Как ты сказал — завтра попробую.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

 

Ответить

Rioran

Дата: Пятница, 11.09.2015, 10:59 |
Сообщение № 6

Группа: Авторы

Ранг: Ветеран

Сообщений: 903


Репутация:

290

±

Замечаний:
0% ±


Excel 2013

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

[vba]

Код

Application.AutomationSecurity = 3
Workbooks.Open Filename:=»Полный путь дурного файла .xlsb», CorruptLoad:= xlRepairFile
‘ Выслушал предупреждение, что какая-то ересь была удалена
‘ Пересохранил файл и открыл снова. Увидел предложение об обрыве связей и согласился.
‘ Пересохранил файл и открыл снова. Всё хорошо.
Application.AutomationSecurity = 1
‘ Пересохранил файл и открыл снова. Всё хорошо.

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


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

Сообщение отредактировал RioranПятница, 11.09.2015, 16:08

 

Ответить

Vladimir32

Дата: Суббота, 15.08.2020, 22:17 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 34


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Случилась у меня такая же проблема, и есть там еще один обход.
Вот на этом видео — все рассказано, буквально пара минут: https://www.youtube.com/watch?… e=youtu.be

 

Ответить

Pelena

Дата: Суббота, 15.08.2020, 23:25 |
Сообщение № 8

Группа: Админы

Ранг: Местный житель

Сообщений: 18866


Репутация:

4303

±

Замечаний:
±


Excel 2016 & Mac Excel

Vladimir32, ссылка никуда не ведёт


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

fikusnik

Дата: Пятница, 12.02.2021, 14:37 |
Сообщение № 9

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


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

Это можно воспроизвести на простейшем примере:
1. Создаю книгу excel, в ней произвольные данные забиваю
2. добавляю макрос (для примера вставил пользовательскую функцию, показывает отступы)
Function Level(Cell As Range)
Level = Cell.IndentLevel / 2 + 1
End Function
3. сохраняю, закрываю, открываю – так пару раз
4. на третий раз выдает при открытии файла выдает ошибку «Microsoft Visual Basic for Application: Can’t Find project or library», и с файлом далее невозможно работать (вылетает эксель). Его можно «починить»: открыть без разрешения макросов, скомпилировать, сохранить, закрыть. Тогда открывается нормально, но в любой момент может также сломаться. Никаких missing библиотек нет. Поломанный файл приложил (в нем таблица на 20 строк и пользовательская функция в макросах»

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

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

К сообщению приложен файл:

_—.xlsb
(14.7 Kb)

Сообщение отредактировал fikusnikПятница, 12.02.2021, 15:24

 

Ответить

  • Remove From My Forums
  • Question

  • Recently installed MSOffice 2010 Pro trial version and receive the following Macro error in Excel: compile error.  Can’t find project or library.  The Excel file was created with Office 2003 and runs okay with the Professional version of 2003,
    but not the SMBS Excel 2003.  I tried setting the macro security level to low in 2010, however, the macro still will not run. 

Answers

  • Hi,

    Most likely, the application has lost the reference to an object or type library resulting in the above error when using
    Barcode Macros & Native VBA Functions.
    The problem may be resolved as follows:

    1.      
    Open the database or application.

    2.      
    Open a module in Design view or press ALT+F11 to switch to the Visual Basic Editor.

    3.      
    On the Tools menu, click References.

    4.      
    Clear the check box for the type library or object library marked as «Missing:»

    An alternative to removing the reference is to restore the referenced file to the path specified in the References dialog box.

    If the referenced file is in a new location, clear the «Missing:» reference and create a new reference to the file in its new location.

    Microsoft has documented this issue:
    VBA Functions Break in Database with Missing References

    Regards,

    Harry Yuan

    • Proposed as answer by

      Thursday, October 14, 2010 8:41 AM

    • Marked as answer by
      sacjac
      Thursday, October 14, 2010 1:10 PM

Понравилась статья? Поделить с друзьями:
  • Canoscan lide 120 ошибка инициализации
  • Canon тм 200 ошибка ec22 2f30
  • Canon сканер коды ошибок
  • Canon системная ошибка е225
  • Canon принтер при печати ошибка печати