Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] Не работает макрос в Экселе (http://forum.oszone.net/showthread.php?t=331497)

dislike 28-11-2017 09:48 2780677

Не работает макрос в Экселе
 
Всем здрям.
Бухи подкинули задачку. Принесли откуда-то таблицу экселя с макросами внутри неизвестного происхождения, а она нигде не работает, по нажатию на любую кнопку в документе вываливает ошибку Can't find project or library.
Офис 2010 у нас. Понятно, что ей библиотек не хватает. Но как узнать, чего именно?
Что интересно внутри документа инструкция утверждает, что файл должен корректно работать на офисе 2007 и выше.

a_axe 28-11-2017 10:01 2780684

Цитата:

Цитата dislike
Понятно, что ей библиотек не хватает. Но как узнать, чего именно? »

dislike, у вас есть доступ к VBA-проекту в редакторе по alt+F11?
Зайдите в Tools-References, проверьте наличие пунктов с надписью MISSING, если присутствуют - уберите галочки.
Если проблема сохранится - запустите код, получите ошибку, после чего в VBA редакторе посмотрите какая строчка выделена. Озвучьте, либо посмотрите в поиске, какую библиотеку нужно подключить.

Iska 28-11-2017 10:05 2780688

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

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

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

dislike 28-11-2017 10:44 2780700

Цитата:

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

Есть

Цитата:

Цитата a_axe
Зайдите в Tools-References »

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

Цитата:

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

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

Цитата:

Alt-F11, ищете обработчик «любой кнопки», устанавливаете точку останова, нажимаете кнопку и начинаете отлаживать.
Спасибо, но можно поподробнее, как для идиота? Я такими вещами ещё не занимался, буду долго тыкаться как слепой котенок, и увы, времени детально разбираться совершенно нет, работой завалили всей и сразу

Iska 28-11-2017 10:48 2780701

Цитата:

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

https://www.mrexcel.com/forum/excel-...rayed-out.html
Цитата:

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

a_axe 28-11-2017 11:25 2780714

Цитата:

Цитата Iska
Коллега a_axe оказался быстрее . »

Iska, ;)


Цитата:

Цитата dislike
Цитата a_axe:
у вас есть доступ к VBA-проекту в редакторе по alt+F11? »
Есть »

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

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

1. VBA проект запаролен.
2. Если ошибка звучит как project is unviewable, то нужно проверить, выключен ли в excel общий доступ к файлу (рецензирование → доступ к книге), а также проверить в VBA редакторе меню tools → Digital signature наличие и возможность удалить сертификаты. В таком случае reference также будет недоступно.

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

dislike 28-11-2017 12:22 2780725

Цитата:

Цитата Iska
Make sure you're not in Break Mode. Try clicking Run->Reset. »

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

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

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

Iska 28-11-2017 12:58 2780738

Цитата:

Цитата dislike
Missing: OnBttnAddInForWord 1.0 Type Library
и ссылается это все в директорию офиса / Office14 / onbttnwd.dll »

Судя по описанию, этот компонент из OneNote.

dislike 28-11-2017 13:39 2780749

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

Iska 28-11-2017 14:55 2780773

dislike, возможно, у тех, кто устанавливает полный комплект, при установке эта библиотека автоматически «цепляется» ко всем проектам в Microsoft Office. Точно не скажу, у меня этой версии нет. С другой стороны, в предыдущих версиях по умолчанию было ровно четыре ссылки:
  • на сам VBA;
  • на объектную библиотеку самого приложения (Word, Excel & etc);
  • на библиотеку OLE Automation;
  • на объектную библиотеку Microsoft Office (тулбары там и прочее).

vuru 24-11-2020 06:23 2940857

С позволения ТС освежу информацию.

Столкнулся с тем же.
Перерыл кучу информации в интернете, в т.ч. здесь

Отключил эту библиотеку. Макрос не заработал. Решил искать саму библиотеку.
Нехватающую библиотеку определил тем же способом. Ниже указано, чего не хватает.
Затем Нашел в организации компьютер, на котором этот макрос работает и с него уже перетащил нужную библиотеку на комп, где макрос не работал.

Все заработало


Время: 18:06.

Время: 18:06.
© OSzone.net 2001-