- Что делать если макрос не работает?
- Операционная система
- Разработчик пакета офисных приложений
- Наличие компонентаVBA
- ВерсияMicrosoftOffice
- АктивацияMicrosoft Office
- Снятие блокировки файла
- Система безопасности
- Используемые библиотеки
- Что делать если макрос не работает?
- Операционная система
- Разработчик пакета офисных приложений
- Наличие компонентаVBA
- ВерсияMicrosoftOffice
- АктивацияMicrosoft Office
- Снятие блокировки файла
- Система безопасности
- Используемые библиотеки
- Включение и отключение макросов в файлах Office
- Включение макросов при появлении панели сообщений
- Включить макрос только для текущего сеанса
- Изменение параметров макросов в центре управления безопасностью
Что делать если макрос не работает?
Отказ макроса или надстройки от выполнения своих функций имеет ряд причин. Рассмотрим наиболее распространенные из них.
Операционная система
Вплоть до 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 не требует активации. Проведите активацию, чтобы избежать каких-либо ограничений при использовании приложений.
Снятие блокировки файла
Файл, полученный с другого компьютера или из сети интернет может быть заблокирован. Чтобы разблокировать такой файл, необходимо кликнуть на нем правой кнопкой мыши и на вкладке «Общие» нажать кнопку «Разблокировать».
Система безопасности
Если все вышеизложенное не ответило на вопрос «почему не работает макрос?», то, скорее всего, дело в настройках системы безопасности. Перейдите на страницу https://macros-vba.ru/knigi/vba/nastrojki-sistemy-bezopasnosti и проделайте то, что написано в разделах «Надежные расположения» и «Настройка доступа к объектной модели VBA».
Используемые библиотеки
Еще одна ситуация при которой не работает макрос сопровождается появлением сообщения Can’t find project or library при этом тот же самый макрос может без нареканий работать на другом компьютере. В разных версиях приложений, в которые встроен VBA могут использоваться разные библиотеки, в связи с чем могут возникать подобные ошибки. Ошибку можно устранить, если в окне, которое следует за сообщением об ошибке снять флажки, установленные в пунктах, содержащих слово MISSING.
Это окно также можно вызвать и самостоятельно, если в редакторе VB выбрать пункт меню Tools/References.
Кроме этого не все библиотеки подключаются автоматически. Если на компьютере разработчика макроса или надстройки какая-то библиотека была подключена вручную, затем макрос или надстройка были перенесены на другой компьютер, где эта библиотека не подключена, возникает такая-же ошибка.
Источник
Что делать если макрос не работает?
Отказ макроса или надстройки от выполнения своих функций имеет ряд причин. Рассмотрим наиболее распространенные из них.
Операционная система
Вплоть до 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 не требует активации. Проведите активацию, чтобы избежать каких-либо ограничений при использовании приложений.
Снятие блокировки файла
Файл, полученный с другого компьютера или из сети интернет может быть заблокирован. Чтобы разблокировать такой файл, необходимо кликнуть на нем правой кнопкой мыши и на вкладке «Общие» нажать кнопку «Разблокировать».
Система безопасности
Если все вышеизложенное не ответило на вопрос «почему не работает макрос?», то, скорее всего, дело в настройках системы безопасности. Перейдите на страницу https://macros-vba.ru/knigi/vba/nastrojki-sistemy-bezopasnosti и проделайте то, что написано в разделах «Надежные расположения» и «Настройка доступа к объектной модели VBA».
Используемые библиотеки
Еще одна ситуация при которой не работает макрос сопровождается появлением сообщения Can’t find project or library при этом тот же самый макрос может без нареканий работать на другом компьютере. В разных версиях приложений, в которые встроен VBA могут использоваться разные библиотеки, в связи с чем могут возникать подобные ошибки. Ошибку можно устранить, если в окне, которое следует за сообщением об ошибке снять флажки, установленные в пунктах, содержащих слово MISSING.
Это окно также можно вызвать и самостоятельно, если в редакторе VB выбрать пункт меню Tools/References.
Кроме этого не все библиотеки подключаются автоматически. Если на компьютере разработчика макроса или надстройки какая-то библиотека была подключена вручную, затем макрос или надстройка были перенесены на другой компьютер, где эта библиотека не подключена, возникает такая-же ошибка.
Источник
Включение и отключение макросов в файлах Office
Макрос представляет собой набор команд, с помощью которых можно автоматизировать выполнение повторяющейся задачи. В этой статье описаны риски, связанные с использованием макросов, и приведены инструкции по включению и отключению макросов в центре управления безопасностью.
Предупреждение: Никогда не в включаете макрос в файле Office, если вы не знаете, что они делают. Непредвиденные макросы могут представлять значительную угрозу безопасности. Для этого не нужно, чтобы макрос мог видеть или редактировать файл. только в том случае, если вам нужны функции, предоставляемые макросом.
Сведения о создании макросов см. в статье Краткое руководство: создание макроса.
Если вам нужно узнать, как использовать макрос на компьютере с Windows S, см. Office в Windows 10 S.
Макросы служат для автоматизации часто выполняемых задач, что позволяет сэкономить время за счет сокращения объема работы с клавиатурой и мышью. Многие из них созданы с использованием языка Visual Basic для приложений (VBA). Однако некоторые макросы представляют угрозу безопасности. Макрос часто используется злоумышленниками для бесшумной установки вредоносных программ, например вирусов, на компьютер или в сеть организации.
Включение макросов при появлении панели сообщений
При открытии файла, содержащего макросы, появляется желтая панель сообщений со значком щита и кнопкой Включить содержимое. Если известно, что макрос поступил из надежного источника, воспользуйтесь приведенными ниже инструкциями.
В области Панель сообщений нажмите кнопку Включить содержимое.
Файл откроется и будет надежным документом.
На рисунке ниже показана панель сообщений, когда в файле есть макросы.
Включить макрос только для текущего сеанса
Выполнив приведенные ниже инструкции, можно включить макросы на то время, пока открыт файл. Если закрыть файл и открыть его снова, предупреждение появится опять.
Откройте вкладку Файл.
В области Предупреждение системы безопасности нажмите кнопку Включить содержимое.
Выберите элемент Дополнительные параметры .
В диалоговом окне Параметры безопасности Microsoft Office выберите команду Включить содержимое для этого сеанса для каждого макроса.
Нажмите кнопку ОК.
Изменение параметров макросов в центре управления безопасностью
Параметры макросов доступны в центре управления безопасностью. Однако администратор организации может изменить настройки по умолчанию, чтобы запретить изменение каких-либо параметров.
Важно: При изменении параметров макроса в центре управления доверием они изменяются только для Office, которую вы используете в данный момент. Параметры макроса не меняются для всех Office программ.
Откройте вкладку Файл.
Затем выберите пункты Центр управления безопасностью и Параметры центра управления безопасностью.
В центре управления безопасностью щелкните элемент Параметры макросов.
Сделайте нужные выборки и нажмите кнопку ОК.
Примечание: Параметры немного отличаются в Excel, мы будем звонить из них по мере того, как мы будем звонить.
Отключить все макросы без уведомления. Этот параметр отключает макросы и связанные с ними оповещения безопасности.
В Excel этот параметр отключение макроса VBA без уведомления и применяется только к макросам VBA.
Отключить все макросы с уведомлением. Этот параметр отключает макросы без отключения оповещений системы безопасности, которые будут появляться при необходимости. Так вы можете включать макросы, когда это требуется.
В Excel этот параметр отключение макроса VBA с уведомлением и применяется только к макросам VBA.
Отключить все макросы кроме макросов с цифровой подписью Макрос отключен, и при этом отображаются оповещения системы безопасности, если есть неподписаные макросы. Однако если макрос имеет цифровую подпись надежного издателя, макрос просто запускается. Если макрос подписан издателем, которому вы еще не доверяете, вам будет предоставлена возможность включить подписанный макрос и доверять издателю.
В Excel этот параметр отключение макроса VBA за исключением макроов с цифровой подписью и применяется только к макросам VBA.
Включить все макросы (не рекомендуется, советуем выполнить потенциально опасный код) Все макросы запускались без подтверждения. Компьютер становится уязвимым для потенциально опасных программ.
В Excel этот параметр включает макрос VBA (не рекомендуется, советуем запускать потенциально опасный код), и он применяется только к макросам VBA.
Excel также естьExcel включить макрос Excel 4.0при включенном макросах VBA. Если установить этот параметр, все вышеперечисленные параметры макроса VBA также будут применяться Excel 4.0 (XLM).
Если этот снимок не был выбран, макрос XLM отключается без уведомления.
Доверять доступ к объектной модели проектов VBA Отопустить или разрешить программный доступ к объектной модели Visual Basic для приложений (VBA) из клиента автоматизации. Этот параметр безопасности для кода, который позволяет автоматизировать Office и управлять средой и объектной моделью VBA. Этот параметр настраивается как для каждого пользователя, так и для каждого приложения и по умолчанию не позволяет неавторизованным программам создать вредоносный код самостоятельной репликации. Чтобы клиенты автоматизации получили доступ к объектной модели VBA, пользователь, работающий с кодом, должен предоставить доступ. Чтобы включить доступ, выберите этот квадрат.
Примечание: В Microsoft Publisher и Microsoft Access параметр Доверять доступ к объектной модели проектов VBA отсутствует.
Источник