PDA

Показать полную графическую версию : [решено] Не работает макрос в Экселе


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

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

Iska
28-11-2017, 10:05
dislike, коль Вы не приложили архив с документом, надо полагать он особо секретный?

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

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

dislike
28-11-2017, 10:44
у вас есть доступ к VBA-проекту в редакторе по alt+F11? »
Есть

Зайдите в Tools-References »
Это я уже пробовал, эта менюшка неактивна совсем (

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

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

Iska
28-11-2017, 10:48
Это я уже пробовал, эта менюшка неактивна совсем ( »
https://www.mrexcel.com/forum/excel-questions/214952-tools-references-always-grayed-out.html
Make sure you're not in Break Mode. Try clicking Run->Reset.

a_axe
28-11-2017, 11:25
Коллега a_axe оказался быстрее . »
Iska, ;)

Цитата 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
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
Missing: OnBttnAddInForWord 1.0 Type Library
и ссылается это все в директорию офиса / Office14 / onbttnwd.dll »
Судя по описанию (https://www.google.ru/search?q=onbttnwd.dll+site:microsoft.com), этот компонент из OneNote.

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

Iska
28-11-2017, 14:55
dislike, возможно, у тех, кто устанавливает полный комплект, при установке эта библиотека автоматически «цепляется» ко всем проектам в Microsoft Office. Точно не скажу, у меня этой версии нет. С другой стороны, в предыдущих версиях по умолчанию было ровно четыре ссылки:

на сам VBA;
на объектную библиотеку самого приложения (Word, Excel & etc);
на библиотеку OLE Automation;
на объектную библиотеку Microsoft Office (тулбары там и прочее).

vuru
24-11-2020, 06:23
С позволения ТС освежу информацию.

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

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

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




© OSzone.net 2001-2012