- Что делать если макрос не работает?
- Операционная система
- Разработчик пакета офисных приложений
- Наличие компонентаVBA
- ВерсияMicrosoftOffice
- АктивацияMicrosoft Office
- Снятие блокировки файла
- Система безопасности
- Используемые библиотеки
- Проблема с запуском макросов
- После обновления windows перестали работать подписанные макросы в Word и Excell 2013
- Почему не работает макрос?
- Не работают макросы windows 10
- Вопрос
- Ответы
Что делать если макрос не работает?
Отказ макроса или надстройки от выполнения своих функций имеет ряд причин. Рассмотрим наиболее распространенные из них.
Операционная система
Вплоть до Office 2016 пакет приложений Microsoft Office выпускается в различных версиях, для Windows и для Mac OS. Встроенный в приложения Office язык программирования при этом использует отличающиеся друг от друга библиотеки операционной системы. В связи с этим макрос/надстройка, написанная для работы в приложениях под Windows, может не работать, либо работать некорректно в MacOS. Проверьте операционную систему, для которой разрабатывался макрос/надстройка.
Разработчик пакета офисных приложений
Кроме Microsoft Office, пользователи достаточно часто используют альтернативные пакеты офисных приложений, такие как OpenOffice или LibreOffice. Приложения этих пакетов также имеют встроенные языки программирования, но эти языки отличаются друг от друга. Макросы или надстройки, написанные в Visual Basic for Application в приложениях пакета Microsoft Office, не будут работать в приложениях OpenOffice или LibreOffice. Уточните, для какого пакета офисных программ разработан макрос/надстройка.
Наличие компонента VBA
Для того, чтобы можно было запустить макрос или надстройку в каком-либо приложении пакета Office, необходимо, чтобы с этим пакетом был установлен компонент VBA – встроенный язык программирования Visual Basic for Application. В некоторых версиях Office этот пакет может устанавливаться отдельно. Проверьте, установлен ли этот компонент на компьютере. Нажмите сочетание клавиш Alt+F11, если после этого появляется окно редактора Visual Basic, то компонент установлен. В случае, если компонент отсутствует, его необходимо установить.
Версия Microsoft Office
Microsoft Office 2003 использует надстройки с расширением .xla (для Excel), .dot (для Word) и так далее. В более поздних версиях расширения надстроек изменились: .xlam (для Excel), .dotm (для Word). При установке надстроек старого формата в приложения Office 2007 и выше никаких проблем не происходит, а вот при попытке установить надстройку нового формата в приложения пакета Office 2003, возникает сообщение о том, что надстройки не обнаружены. Убедитесь в том, что используемая надстройка предназначена именно для той версии Office, в которой Вы работаете.
Активация Microsoft Office
Убедитесь в том, что Microsoft Office не требует активации. Проведите активацию, чтобы избежать каких-либо ограничений при использовании приложений.
Снятие блокировки файла
Файл, полученный с другого компьютера или из сети интернет может быть заблокирован. Чтобы разблокировать такой файл, необходимо кликнуть на нем правой кнопкой мыши и на вкладке «Общие» нажать кнопку «Разблокировать».
Система безопасности
Если все вышеизложенное не ответило на вопрос «почему не работает макрос?», то, скорее всего, дело в настройках системы безопасности. Перейдите на страницу http://macros-vba.ru/knigi/vba/287-nastrojki-sistemy-bezopasnosti и проделайте то, что написано в разделах «Надежные расположения» и «Настройка доступа к объектной модели VBA».
Используемые библиотеки
Еще одна ситуация при которой не работает макрос сопровождается появлением сообщения Can’t find project or library при этом тот же самый макрос может без нареканий работать на другом компьютере. В разных версиях приложений, в которые встроен VBA могут использоваться разные библиотеки, в связи с чем могут возникать подобные ошибки. Ошибку можно устранить, если в окне, которое следует за сообщением об ошибке снять флажки, установленные в пунктах, содержащих слово MISSING.
Это окно также можно вызвать и самостоятельно, если в редакторе VB выбрать пункт меню Tools/References.
Кроме этого не все библиотеки подключаются автоматически. Если на компьютере разработчика макроса или надстройки какая-то библиотека была подключена вручную, затем макрос или надстройка были перенесены на другой компьютер, где эта библиотека не подключена, возникает такая-же ошибка.
Проблема с запуском макросов
Столкнулся с такой проблемой на своём домашнем ПК, на рабочем такого не было, но теперь тоже появилось. Значит есть файл Excel, в котором имеются макросы, один записан в объекте workbook, другие в модуле. Так вот, всё работало, но теперь макросы перестали запускаться. При этом настройки безопасности в Excel не изменяли и запуск макросов по-прежнему включен с уведомлением. Открываешь файл, уведомления о запуске нет, макросы не запускаются. Сохраняешь файл под другим именем, открываешь и уведомление появляется и макросы работают, закрываешь, открываешь второй раз и всё, снова ничего не работает и нет уведомления. Что за ХРЕНЬ? Такого никогда не было, поэтому ничего не могу понять, какая падла вредит?
Заранее благодарен за помощь!
Сохранение листа книги в файле — проблема с защитой листа и привязкой макросов
С толкнулся с такой проблемой при сохранении листа в файле вот код который сохраняет лист в.
Проблема с запуском 1C
такео вот дело, проблема с запуском 1с а точнее подключение к базе на сервере, в чем может.
Проблема с запуском
компьютер новый, ему недели 2 где то начал очень часто зависать при перезагрузке выдает разные.
Проблема с запуском
Приехала мне материнка с процессором, озу, куллер для процессора и видеокарта. Собрал это всё дело.
Спасибо за совет, но к сожалению не помогло. Грешил изначально на Excel 2016, с него всё началось, потом вернулся на 2010, но проблема возникла заново. Теперь открываю любой файл Excel с макросом и при повторном открытии макросы этого файла не работают автоматом. Если макрос назначен на кнопку, то работает, если макрос на событии — нет.
Грешил на антивирус, на вирус, откуда ноги растут не пойму, бред какой-то
Добавлено через 9 минут
На рабочем ПК как-то возникла такая проблема один раз, но после пересохранения вроде не появлялась, Почему вроде? Потому что сменил место работы, а если бы возникла, то оставшиеся работники уже обратились бы. На домашнем установлен Windows 10, на рабочем 7-ка. Какой-то бл. ский мелкософтский глюк, но искать истину, путем переустановки системы и всего прочего очень накладно. Да и может не в этом дело.
Антивирь DrWeb Security Space 12.0. В общем открыл файл с макросом, который с hdd, макрос естественно не запустился, сохранил этот файл с тем же именем через «сохранить как» на флешку. Открываю с флешки первый раз, макрос запускается, закрываю, открываю второй и всё.
Добавлено через 11 минут
Удаляю файл с флешки, открываю снова с HDD и «сохраняю как» на флешку, запускаю уже не работает. Вытаскиваю флешку, вставляю заново, запускаю, макросы не работают. Запускаются только в том случае, если удаляю файл с флешки, вытаскиваю её, снова вставляю и сохраняю на нее файл через «сохранить как» из Excel. Кстати, если открыть файл и не нажимать кнопку «включить макросы», закрыть файл и снова открыть, «то кнопка «включить макросы» появляется снова, стоит раз включить, макрос сработает и при повторном открытии уже ни кнопки, соответственно, ни запуска макроса.
После обновления windows перестали работать подписанные макросы в Word и Excell 2013
У нас есть файлы для Word и Excell с макросами, которые подписаны нашей цифровой подписью в виде сертификата. На всех ПК пользователей этот сертификат установлен так, чтобы подписанные ими макросы распознавались как «свои» и работали. В настройках Word 2013 и Excell 2013 стоит «Отключить все макросы без цифровых подписей». До обновления с windows 8.1 до windows 10 макросы запускались корректно при описанных настройках. После обновления windows работать перестали.
Если зайти в Разработчик — Visual Basic — Tools — Digital signature — Подробности для текущей цифровой подписи проекта в файле с макросом, то можно видеть, что сертификат действителен, т.е. система по идее распознает подпись макроса, но запускать его не хочет.
Переустановка сертификата ничего не даёт. И если до обновления мы открывали файл с неизвестным сертификатом, то Word и Excell в области уведомлений сообщал о заблокированном содержимом и в итоге можно было недостающий сертификат установить. Сейчас, если из системы удалить сертификат, то при открытии файла никаких сообщений о заблокированном содержимом нет.
Если же в настройках безопасности разрешить все макросы, то они работают, но такой уровень безопасности нас не устраивает.
Проблема проявляется на всех обновлённых ПК офиса.
Используется подписка office 365 plus в рамках которой установлен пакет офис 2013. Так что переустановка отдельных компонентов невозможна.
Почему не работает макрос?
Предположим, Вы скачали файл с данного сайта с примером макроса, открываете файл, но макросы в нем не работают! Как такое может быть? Неужели автор сайта выложил неработающий пример и не знает об этом? И тем более как может случиться такое, что Вы перенесли со своего ПК на другой ПК файл с рабочими макросами на флешке, запускаете, а он не работает. Почему? Вроде все правильно делаете, да ведь и у Вас работает на ПК. И начинает закрадываться мысль: «А чем же этот ПК и Excel на нем такие особенные?» . А ответ может быть прост — перед выполнением макроса не было разрешено выполнение этих самых макросов. Да, в большинстве случаев по умолчанию выполнение макросов в Excel отключено. И их надо включить. Для этого:
- Excel 2003:
Сервис-Безопасность-Уровень макросов «Низкий» - Excel 2007:
Кнопка Офис—Параметры Excel (Excel Options) —Центр управления безопасностью (Trust Centr) —Параметры центра управления безопасностью (Trust Centr Settings) —Параметры макросов (Macro Settings) —Разрешить все макросы (Enable All Macros) - Excel 2010-2016:
Файл (File) —Параметры (Options) —Центр управления безопасностью (Trust Centr) —Параметры центра управления безопасностью (Trust Centr Settings) —Параметры макросов (Macro Settings) —Разрешить все макросы (Enable All Macros)
После изменения параметров безопасности макросов необходимо перезапустить приложение Excel: закрыть его полностью и открыть заново. Только после этого изменения вступят в силу.
Если макросы уже включены, но некоторые макросы отказываются работать (как правило те, которые записаны в модулях листов и книг и запускаются при наступлении определенного события — Worksheet_SelectionChange (выделение ячеек), Worksheet_Change (изменение значений ячеек) и т.п.), то скорее всего когда-то вы выполнили какой-нибудь макрос и он отключил отслеживание событий. Тогда надо в любую активную книгу добавить модуль(переходим в редактор VBA( Alt + F11 ) —Insert —Module), вставить в него приведенный ниже код и запустить:
Sub Reset_Events() Application.EnableEvents = True End Sub
чтобы запустить(выполнить) данный макрос макрос необходимо установить курсор в любое место между Sub и End Sub и нажать клавишу F5 .
Статья помогла? Поделись ссылкой с друзьями!
Не работают макросы windows 10
Вопрос
Сегодня прилетела куча обновлений MS Office (2007, 2010, 2013) после их установки перестали работать макросы в книгах Exel — кнопка макроса «не нажимается». При открытии файла никаких уведомлений о заблокированном содержимом нет.
Даже если принудительно в настройках безопасности разрешить все макросы — ничего не происходит, кнопки макросов по прежнему не нажимаются, никаких уведомлений о заблокированном содержимом нет. Где копать?
ps: обновления датированы 9 декабря 2014
Ответы
Посмотрите английскую ветку обсуждения данного вопроса, там несколько временных решений
Станислав: Для Office 2013 — KB2726958
Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется как есть, без каких-либо гарантий. Не забывайте помечать сообщения как ответы и полезные, если они Вам помогли.
- Изменено Elina Lebedeva 12 декабря 2014 г. 13:09
- Предложено в качестве ответа Nutslyc 12 декабря 2014 г. 14:15
- Помечено в качестве ответа Жук MVP, Moderator 12 декабря 2014 г. 15:00
Столкнулся с той же самой проблемой. Нашел решение — может кому пригодится:
1. Меняем все кнопки ActiveX на кнопки из группы «Элементы управления формы»
2. Меняем в коде функции, которые висели на кнопках, с Private на Public
3. Переходим в режим конструктора, правой кнопкой по добавленной кнопке элемента управления формы -> назначить макрос
4. Далее радуемся жизни и работающему коду.