Почему не запускается макрос
Перейти к содержимому

Почему не запускается макрос

  • автор:

Ошибка «Сбой действия: 2950» при выполнении макроса, который вызывает функцию VBA в базе данных Access

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

Симптомы

При запуске макроса, который вызывает функцию Microsoft Visual Basic для приложений (VBA) в базе данных Microsoft Office Access 2007 или более поздней версии, появляется следующее сообщение об ошибке:

Сбой действия
Имя макроса: MacroName
Условие: условие
Имя макроса: RunCode
Аргументы: Аргументы
Номер ошибки: 2950

Причина

Эта проблема возникает, если база данных не является доверенной для Access. По умолчанию последние версии Access открывают базы данных, которые не являются доверенными в отключенном режиме. В режиме Отключено исполняемое содержимое отключено.

Разрешение

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

Способ 1. Включение базы данных для текущего сеанса

При использовании этого метода Access включает базу данных до тех пор, пока вы не закроете базу данных. Чтобы включить базу данных для текущего сеанса, выполните следующие действия.

  1. На панели сообщений щелкните Параметры.
  2. В диалоговом окне Параметры безопасности Microsoft Office щелкните Включить это содержимое и нажмите кнопку ОК.

В зависимости от версии Access может потребоваться повторять эти действия при каждом открытии базы данных.

Способ 2. Перемещение базы данных в надежное расположение

Для этого выполните следующие действия:

  1. Определите надежные расположения, в которые можно переместить базу данных. Для этого выполните следующие действия:
    1. Последовательно выберите пункты Файл и Параметры.
    2. Щелкните Центр управления безопасностью, а затем выберите Параметры центра управления безопасностью в центре управления доступом к Microsoft Office.
    3. Щелкните Доверенные расположения, а затем выполните одну из следующих процедур:
      • Обратите внимание на пути к перечисленным доверенным расположениям.
      • Добавьте новое надежное расположение. Для этого нажмите кнопку Добавить новое расположение, а затем укажите путь к расположению, которое нужно добавить.

    Дополнительные сведения

    Макрос AutoExec можно использовать для проверки того, является ли база данных доверенной при открытии базы данных. Кроме того, макрос может открыть форму, которая отображает настраиваемое сообщение для пользователей, если база данных не является доверенной. Это сообщение сообщает пользователям, что база данных должна быть включена или доверена для успешного выполнения кода.

    Чтобы создать AutoExec макрос и форму, выполните следующие действия.

    1. Создайте форму в режиме конструктора.
    2. Добавьте в форму текстовое поле или метку, а затем введите сведения, которые нужно отобразить пользователю.
    3. Сохраните и закройте форму.
    4. Создайте макрос, а затем назовите макрос AutoExec .
    5. Отображение столбца Условия .
    6. Введите следующую строку в столбце Условия : CurrentProject.IsTrusted = False
    7. В столбце Действия щелкните OpenForm.
    8. В поле Имя формы в разделе Аргументы действия щелкните форму, созданную на шаге 1.
    9. Сохраните и закройте макрос.

    При открытии базы данных запускается AutoExec макрос, а затем проверяет IsTrusted условие. Если база данных не является доверенной для Access, макрос открывает форму, указанную в OpenForm действии макроса.

    Обратная связь

    Были ли сведения на этой странице полезными?

    Включение или отключение макросов в файлах Microsoft 365

    Excel для Microsoft 365 Word для Microsoft 365 Outlook для Microsoft 365 PowerPoint для Microsoft 365 Access для Microsoft 365 Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Access 2021 Visio профессиональный 2021 Visio стандартный 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Access 2019 Visio профессиональный 2019 Visio стандартный 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Access 2016 Visio профессиональный 2016 Visio стандартный 2016 Еще. Меньше

    Интерактивная поддержка в браузере может предоставлять цифровые решения для проблем с Office

    Макрос — это ряд команд, используемых для автоматизации повторяемой задачи, который может выполняться при выполнении задачи. Однако некоторые макросы могут представлять угрозу безопасности, внося на компьютер вирусы или вредоносные программы.

    Предупреждение: Никогда не включайте макросы в файле Microsoft 365, если вы не уверены, что знаете, что делают эти макросы, и вам нужна функциональность, которую они предоставляют. Для просмотра или изменения файла не нужно включать макросы. Дополнительные сведения см. в статье Защита от макровирусов.

    Создание доверенного документа для включения макросов

    Если при открытии документа или попытке запустить макрос отображается предупреждение системы безопасности, можно сделать его доверенным документом и включить макросы. Этот пример находится в книге Excel.

    Панель предупреждений отключена для макросов

    Предупреждение системы безопасности доверенного документа

    1. Выберите Включить содержимое.
    2. В диалоговом окне Предупреждение системы безопасности выберите Да , чтобы сделать документ доверенным.

    Макросы теперь включены в этом документе. Чтобы отозвать доверенный документ, необходимо очистить все доверенные документы. Дополнительные сведения см. в разделе Доверенные документы.

    Совет: Вместо включения макросов для каждого документа можно создать надежное расположение для хранения доверенных документов. Microsoft 365 не будет проверка их в центре управления безопасностью. Дополнительные сведения см. в статье Добавление, удаление и изменение надежного расположения в Microsoft Office.

    Изменение параметров макросов в центре управления безопасностью

    Параметры макросов доступны в центре управления безопасностью. Однако если устройство управляется вашей работой или учебным заведением, системный администратор может запретить кому-либо изменять параметры.

    Важно: При изменении параметров макроса в центре управления безопасностью они изменяются только для приложения Microsoft 365, которое вы используете в настоящее время. Параметры макроса не изменяются для всех приложений Microsoft 365.

    Параметры макросов центра управления безопасностью

    1. Перейдите на вкладку Файл и выберите Параметры.
    2. Выберите Центр управления безопасностью, а затем выберите Параметры центра управления безопасностью.
    3. В центре управления безопасностью выберите Параметры макросов.

    Значок безопасности макросов

    Совет: Если на ленте есть вкладка разработчика , выберите вкладку Разработчик, а затем выберите

    Безопасность макросов , чтобы быстро открыть центр управления безопасностью .

    Ниже приведены параметры макроса. Не все приложения имеют одинаковый выбор.

    Примечание: Варианты немного отличаются в Excel, мы будем называть их, как мы идем.

    • Отключить все макросы без уведомления. Этот параметр отключает макросы и связанные с ними оповещения безопасности.

    Панель предупреждений отключена для макросов

    В Excel этот параметр — Отключить макросы VBA без уведомления и применяется только к макросам VBA.
    Отключить все макросы с уведомлением. Этот параметр отключает макросы без отключения оповещений системы безопасности, которые будут появляться при необходимости.

    Используйте этот параметр для включения макросов в индивидуальном порядке.

    Создание и запуск макроса

    В Word можно автоматизировать часто выполняемые задачи с помощью макросов. Макрос — это набор команд и инструкций, группируемых вместе в виде единой команды для автоматического выполнения задачи.

    Чтобы сэкономить время при выполнении часто повторяющихся задач, объедините несколько действий в макрос. Сначала необходимо записать макрос. Затем вы сможете запускать его нажатием кнопки на панели быстрого доступа или с помощью сочетания клавиш. Способ запуска зависит от того, как вы настроите макрос.

    Запись макроса, который запускается с помощью кнопки

    Запись макрокоманды

    1. В меню Вид последовательно выберите пункты Макросы и Записать макрос.

    Поле имени макроса

    Введите имя макроса.

    Поле для выбора места сохранения макроса

    Чтобы использовать этот макрос во всех новых документах, проверьте, что в поле Сохранить изменения в указано значение Всех документов (Normal.dotm).

    Выберите этот пункт, чтобы назначить макрос кнопке

    Чтобы запускать макрос нажатием кнопки, выберите пункт Кнопка.

    Макрос и кнопка

    Щелкните новый макрос (у него будет имя примерно следующего вида: Normal.NewMacros.), а затем нажмите кнопку Добавить.

    Кнопка

    Нажмите кнопку Изменить.

    Параметры кнопок в окне

    Выберите изображение для кнопки, введите нужное имя и дважды нажмите OK.

    Примечание: Во время записи макроса для выделения текста используйте клавиатуру. Макрос не записывает выделения, сделанные с помощью мыши.

    Команда

    Чтобы остановить запись, в меню Вид последовательно выберите пункты Макросы и Остановить запись.

    На панели быстрого доступа появится кнопка для вашего макроса.

    Кнопка макроса на панели быстрого запуска

    Чтобы запустить макрос, нажмите эту кнопку.

    Создание макроса, который запускается с помощью сочетания клавиш

    Запись макрокоманды

    1. В меню Вид последовательно выберите пункты Макросы и Записать макрос.

    Поле имени макроса

    Введите имя макроса.

    Поле для выбора места сохранения макроса

    Чтобы использовать этот макрос во всех новых документах, проверьте, что в поле Сохранить изменения в указано значение Всех документов (Normal.dotm).

    Выберите этот пункт, чтобы назначить макрос сочетанию клавиш на клавиатуре

    Чтобы запускать макрос с помощью сочетания клавиш, выберите пункт Клавиатура.

    Примечание: Во время записи макроса для выделения текста используйте клавиатуру. Макрос не записывает выделения, сделанные с помощью мыши.

    Команда

    Чтобы остановить запись, в меню Вид последовательно выберите пункты Макросы и Остановить запись.

    Чтобы запустить макрос, нажмите сочетание клавиш.

    Запуск макроса

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

    Команда

      В меню Вид последовательно выберите пункты Макросы и Просмотр макросов.

    Как сделать макрос доступным во всех документах

    Чтобы сделать макрос в одном документе доступным во всех новых документах, добавьте его в шаблон Normal.dotm.

    Команда

    1. Откройте документ, в котором содержится макрос.
    2. В меню Вид последовательно выберите пункты Макросы и Просмотр макросов.

    Копка

    Нажмите кнопку Организатор.

    Добавление кнопки макроса на ленту

    1. В меню Файл последовательно выберите пункты Параметры и Настроить ленту.
    2. В пункте Выбрать команды из выберите пункт Макросы.
    3. Выберите нужный макрос.
    4. В пункте Настройка ленты выберите вкладку и настраиваемую группу, в которую вы хотите добавить макрос.

    Если у вас нет настраиваемой группы, то нажмите кнопку Новая группа. Затем нажмите кнопку Переименовать и введите имя настраиваемой группы.

    1. Нажмите кнопку Добавить.
    2. Чтобы изменить изображение для макроса и ввести нужное имя, нажмите кнопку Переименовать.
    3. Дважды нажмите кнопку OK.

    Создание макроса с нуля в Visual Basic

    1. На вкладке Разработчик в группе Код нажмите кнопку Макросы.
    2. В поле Имя макроса введите имя нового макроса.

    Примечание: Если новому макросу присвоить то же самое имя, что и макросу, встроенному в Word, новые макрокоманды будут выполняться вместо встроенных. Чтобы просмотреть список встроенных макросов, выберите пункт Команды Word в списке Макросы из.

    После запуска редактора Visual Basic могут потребоваться дополнительные сведения о работе с языком Visual Basic для приложений. Для получения сведений выберите в меню Help (Справка) пункт Microsoft Visual Basic Help (Справка по Microsoft Visual Basic) или нажмите клавишу F1.

    Чтобы быстро выполнять часто повторяющиеся задачи, в классической версии Word вы можете объединить шаги в макросы, а затем запускать их одним щелчком мыши. В Word в Интернете такие задачи придется выполнять вручную.

    Если у вас есть Word, нажмите кнопку Открыть в Word, чтобы открыть документ в Word.

    Изображение команды

    Затем следуйте инструкциям для классической версии Word.

    Если вы запустите макрос в Word и сохраните документ, вы увидите результаты работы макроса при повторном открытии документа в Word в Интернете.

    Что делать если макрос не работает?

    Отказ макроса или надстройки от выполнения своих функций имеет ряд причин. Рассмотрим наиболее распространенные из них.

    Операционная система

    Вплоть до 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 не требует активации. Проведите активацию, чтобы избежать каких-либо ограничений при использовании приложений.

    Снятие блокировки файла

    Файл, полученный с другого компьютера или из сети интернет может быть заблокирован. Чтобы разблокировать такой файл, необходимо кликнуть на нем правой кнопкой мыши и на вкладке «Общие» нажать кнопку «Разблокировать».

    snyatie blokirovki s fajla

    Система безопасности

    Если все вышеизложенное не ответило на вопрос «почему не работает макрос?», то, скорее всего, дело в настройках системы безопасности. Перейдите на страницу https://macros-vba.ru/knigi/vba/nastrojki-sistemy-bezopasnosti и проделайте то, что написано в разделах «Надежные расположения» и «Настройка доступа к объектной модели VBA».

    Используемые библиотеки

    Еще одна ситуация при которой не работает макрос сопровождается появлением сообщения Can’t find project or library при этом тот же самый макрос может без нареканий работать на другом компьютере. В разных версиях приложений, в которые встроен VBA могут использоваться разные библиотеки, в связи с чем могут возникать подобные ошибки. Ошибку можно устранить, если в окне, которое следует за сообщением об ошибке снять флажки, установленные в пунктах, содержащих слово MISSING.

    cant find project or library

    Это окно также можно вызвать и самостоятельно, если в редакторе VB выбрать пункт меню Tools/References.

    Кроме этого не все библиотеки подключаются автоматически. Если на компьютере разработчика макроса или надстройки какая-то библиотека была подключена вручную, затем макрос или надстройка были перенесены на другой компьютер, где эта библиотека не подключена, возникает такая-же ошибка.

    Другие материалы по теме:

    • Состав MS Office
    • Что такое VBA? Что такое макросы VBA? Что такое надстройки?
    • Создание и написание макросов. Как установить макрос на свой компьютер?
    • Как записать макрос макрорекордером? Как запустить макрос в Word и Excel?
    • Как сохранить программный код макроса? Что такое модули?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *