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

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

  1. Создайте объект макроса с вуа макросами, которые содержат команды меню.

  2. Создайте другой объект макроса, создав само меню.

  3. Прикрепить меню к окнам управления, форме, отчету или к базе данных в целом.

В следующих разделах подробно по шагам.

Примечание: Вы используете Access 2007? В этом случае перепишитесь на раздел "Создание настраиваемой области быстрого меню в Access 2007".

Совет: Если вы хотите узнать, как создавать настраиваемые сочетания клавиш в Access с помощью кода Visual Basic для приложений (VBA), см. статью "Создание ярлыка для формы,формы или отчета".

Шаг 1. Создание объекта макроса с вуа макросами, которые содержат команды меню

На этом шаге вы создайте объект макроса с вуа макросами, каждый из которых будет отдельной командой в вашем shortcut-меню.

Что такое вгемрос?

С помощью в макроса внутри объекта макроса можно определить набор макро действий. Макрос в объекте макроса можно называть отдельно от различных событий control и object. Каждый вема макрос внутри объекта макроса имеет уникальное имя и может содержать одну или несколько макрокомассов.

  1. На вкладке Создание в группе Макросы и код нажмите кнопку Макрос.

  2. Для каждой команды, необходимой в настраиваемом меню:

    1. Добавьте в окно конструктора макроса макрос "Вложить макрос" и привяжите его к нужному в shortcut-меню (например, "Печать" или "Обновить").

      Совет: Чтобы создать клавишу доступа для выбора команды с помощью клавиатуры, введите перед буквой &, которая должна быть клавишей доступа (например, "&Обновить"), перед буквой, которая должна быть клавишей доступа. Эта буква будет подчеркивается в меню.

    2. Выберите первое действие, которое будет происходить при выборе команды в shortcut-меню.

    3. Если при выборе этой команды вы хотите сделать несколько действий, добавьте их в качестве отдельных макрокомаманд в одном в макросах.

  3. Сохраните и назовите объект макроса, например mcrShortcutMenuCommands.

    На рисунке ниже показан пример объекта макроса с тремя в субподрядными макросами для пользовательского меню или быстрого меню.

    Снимок экрана: окно конструктора макроса Access с тремя вносями в макросами.

Шаг 2. Создание второго объекта макроса, создав меню

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

  1. На вкладке Создание в группе Макросы и код нажмите кнопку Макрос.

  2. В окне конструктора макроса в поле со полем со полем "Добавить новую макрокомаанту" выберите "Добавитьменю".

  3. В поле аргумента "Имя меню" макроса "ДобавитьМеню" введите название меню (например, "Команды формы"). Этот аргумент не является требоваться, но рекомендуется, если на этапе 3 вы планируете добавить меню на вкладку ленты (например, вкладку "Надстройки" формы или отчета). Если на шаге 3 меню добавлено в качестве ярлыка, аргумент "Имя меню" игнорируется.

  4. В поле аргумента "Имя макроса" введите имя объекта макроса, созданного на шаге 1.

  5. Сохраните и назовите второй объект макроса, например mcrAddShortcutMenu.

    На следующем рисунке показан пример объекта макроса меню, который создает меню, разработанное на шаге 1.

    Снимок экрана: объект макроса Access с макро действием "ДобавитьМеню".

Шаг 3. Прикрепить меню к control, форме, отчету или базе данных

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

Добавление меню на вкладку Add-Ins формы или отчета

Используйте эту процедуру, если нужно, чтобы меню появлялось на вкладке "Надстройки" для определенной формы или отчета.

  1. В области навигации щелкните правой кнопкой мыши форму или отчет, в которых должно отображаться меню, и выберите пункт "Конструктор".

  2. На вкладке Конструктор в группе Сервис нажмите кнопку Окно свойств.

  3. Вы можете выбрать весь объект, выбрав "Форма" или "Отчет" из списка в верхней части области задач "Лист свойств".

  4. На вкладке "Другие" окна свойств введите имя объекта макроса, созданного на шаге 2 (в данном примере — mcrAddShortcutMenu).

  5. Сохраните изменения формы или отчета.

    Когда вы откроете форму или отчет в следующий раз, на ленте появится вкладка "Надстройки". Щелкните вкладку, чтобы увидеть меню, как показано на следующем рисунке:

    Снимок экрана: лента "Надстройки" в Access

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

Добавление меню в качестве быстрого меню для формы, отчета или управления

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

  1. В области навигации щелкните правой кнопкой мыши форму или отчет, в которых должно появиться shortcut-меню, и выберите пункт "Конструктор".

  2. На вкладке Конструктор в группе Сервис нажмите кнопку Окно свойств.

  3. Выберите один или несколько объектов, к которым вы хотите прикрепить shortcut-меню.

    Чтобы выбрать весь объект, выберите форму или отчет из списка в верхней части области задач "Лист свойств".

  4. На вкладке "Другие" окна свойств в поле свойства "Shortcut Menu Bar" введите имя объекта макроса, созданного на шаге 2 (в данном примере — mcrAddShortcutMenu).

  5. Убедитесь, что для свойства "Меню ярлыка" установлено слово "Да".

  6. Сохраните изменения формы или отчета.

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

    Снимок экрана: shortcut menu on an Access form

Добавление меню в качестве глобального быстрого меню

Эта процедура заменяет все стандартные сочетания клавиш в текущей базе данных. Это не влияет на настраиваемые сочетания меню, прикрепленные к определенным формам, отчетам или элементу управления.

  1. Выберите Файл > Параметры.

  2. В диалоговом окне Параметры Access щелкните элемент Текущая база данных.

  3. В области "Параметры ленты" и "Параметры панели инструментов" введите имя макроса, созданного на шаге 2 (в данном примере — mcrAddShortcutMenu).

  4. Нажмите кнопку "ОК", чтобы сохранить изменения в диалоговом окне "Параметры Access".

  5. Чтобы изменения вступили в силу, закройте и снова откроете базу данных.

Настраиваемые shortcut menus заменяют стандартные shortcut menus для объектов, к которые они прикреплены. Если вы хотите сохранить некоторые команды Access для использования в этих меню, с помощью макрокоманды "ВыполнитьКоманд" поместите команды в объекты макроса для нужных меню.

Настраиваемые shortcut menu, присоединенные к control, выделает все прочие настраиваемые меню, определенные в базе данных. Настраиваемые ярлыки, прикрепленные к форме или отчету, являются глобальными.

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

Чтобы создать подменю в списке команд, выполните шаг 1, чтобы создать отдельный объект макроса, который содержит только команды подменю, как показано на следующем рисунке:

Снимок экрана: макрос в Access с двумя в подчиненными макросами

Затем снова выполните шаг 1, чтобы определить команды для объекта меню более высокого уровня. Добавьте подменю в качестве элемента в объект макроса более высокого уровня с помощью макрокомассии "ДобавитьМеню". На рисунке ниже показан объект макроса для меню, которое содержит подменю. Третий в том же примере объект макроса создает подменю "Экспорт в..."(mcrShortcutSubMenuCommands).

Снимок экрана: макрос Access с четырьмя в подчиненными макросами

На следующем рисунке показано итоговое меню с подменю:

Снимок экрана: shortcut menu with a submenu

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

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

При желании макрос меню, который вы создаете на шаге 2, может быть частью объекта макроса. Например, если у вас есть несколько ярлыков для разных объектов или элементов управления, можно создать один объект макроса, содержащий все необходимые макрос. Убедитесь в том, что у каждого вемака будет уникальное имя. На шаге 3 используйте следующую нотацию для ссылки на макрос: MacroObjectName.SubmacroName. Например, mcrAddShortcutMenus.AddMenu2.

К началу страницы

Создание настраиваемой shortcut-menus в Access 2007

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

На этом шаге создается группа макроса, каждый из которых будет отдельной командой в вашем ярлыке.

Что такое группа макроса?

Группа макроса — это один объект макроса, содержащий несколько независимых макроса. Отдельные макросы можно определить по имени каждого из них в столбце "Названия макроса". На рисунке ниже "Макрос3" — это группа макроса. NotFoundMsg и FoundMsg — это отдельные макрос в группе, каждый из которых состоит из двух макроса.

Пример группы макросов

Примечание: По умолчанию столбец "Имя макроса" скрыт. Чтобы отобразить столбец "Имя макроса", на вкладке "Конструктор" в группе "Показать или скрыть" нажмите кнопку "Имена макроса".

  1. Откройте вкладку Создание и в группе Другие нажмите кнопку Макрос. Если она недоступна, нажмите стрелку под кнопкой Модуль или Модуль класса, а затем нажмите кнопку Макрос.

  2. На вкладке "Конструктор" в группе "Показать или скрыть" щелкните "Имена макроса", чтобы отобразить столбец "Имя макроса".

  3. Для каждой команды, необходимой в настраиваемом меню:

    • В столбце "Имя макроса" введите текст, который вы хотите отобразить в shortcut-меню (например, "Печать отчета" или "Сохранить").

      1. Примечание: Чтобы создать клавишу доступа для выбора команды с помощью клавиатуры, введите перед буквой & , которая должна быть клавишей доступа (например, "&Сохранить"), перед буквой, которая должна быть клавишей доступа. Эта буква будет подчеркивается в меню.

    • В столбце "Действие" выберите первое действие, которое будет происходить при выборе команды в shortcut-меню.

    • Если вы хотите, чтобы при выборе этой команды были другие действия, добавьте их в последующие строки. Для каждой последующей макроса оставьте ячейку "Имя макроса" пустой.

      1. Примечание: Чтобы создать линию между двумя командами меню, введите дефис (-) в столбце "Имя макроса" между соответствующими командами меню.

  4. Сохраните и привяжу макрос, например mcrShortcutMenuCommands.

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

Группа макросов меню в конструкторе

Этот шаг может показаться избыточным, но чтобы создать shortcut-меню из группы макроса, созданной на шаге 1, необходимо создать второй макрос, содержащий макрокоматуру "ДобавитьМеню". Этот макрос иногда называется "макрос меню".

  1. Откройте вкладку Создание и в группе Другие нажмите кнопку Макрос. Если она недоступна, нажмите стрелку под кнопкой Модуль или Модуль класса, а затем нажмите кнопку Макрос.

  2. В первой строке макроса выберите "ДобавитьМеню" в списке действий.

  3. В поле "Имя меню"в поле "Аргументы действия" введите название меню (например, "Команды отчета"). Этот аргумент не является требоваться, но рекомендуется, если на этапе 3 вы планируете добавить меню на вкладку ленты (например, вкладку "Надстройки" формы или отчета). Если на шаге 3 меню добавлено в качестве ярлыка, аргумент "Имя меню" игнорируется.

  4. В поле "Имя макроса" введите имя макроса, созданного на шаге 1.

  5. Сохраните и примените имя макроса, например mcrAddShortcutMenu.

На следующем рисунке показан пример макроса меню, который создает меню, разработанное на этапе 1.

Макрос меню в конструкторе

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

  • Добавление меню на вкладку Add-Ins формы или отчета

    Используйте эту процедуру, если нужно, чтобы меню появлялось на вкладке "Надстройки" для определенной формы или отчета, как показано на следующем рисунке:

    Вкладка "Надстройки", содержащая настраиваемое меню

    1. В области навигации щелкните правой кнопкой мыши форму или отчет, в которых должно отображаться меню, и выберите пункт "Конструктор".

    2. На вкладке Конструктор в группе Показать или скрыть выберите пункт Страница свойств.

    3. Вы можете выбрать весь объект, выбрав "Форма" или "Отчет" из списка в верхней части области задач "Лист свойств".

    4. На вкладке "Другие" окна свойств введите в поле свойства "Меню ярлыка" имя макроса, созданного на шаге 2 (в данном примере — mcrAddShortcutMenu).

      Когда вы откроете форму или отчет в следующий раз, на ленте появится вкладка "Надстройки". Щелкните вкладку, чтобы увидеть меню.

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

      Лента входит в Пользовательский интерфейс Microsoft Office Fluent.

  • Добавление меню в качестве быстрого меню для формы, отчета или управления

    Используйте эту процедуру, если нужно, чтобы меню появлялось, если щелкнуть правой кнопкой мыши определенную форму, отчет или управление, как показано на рисунке ниже:

    Простое контекстное меню

    1. В области навигации щелкните правой кнопкой мыши форму или отчет, в которых должно появиться shortcut-меню, и выберите пункт "Конструктор".

    2. На вкладке Конструктор в группе Показать или скрыть выберите пункт Страница свойств.

    3. Выберите один или несколько объектов, к которым вы хотите прикрепить shortcut-меню.

      Примечание: Чтобы выбрать весь объект, выберите форму или отчет из списка в верхней части области задач "Лист свойств".

    4. На вкладке "Другие" окна свойств в поле свойства "Shortcut Menu Bar" введите имя макроса, созданного на шаге 2 (в данном примере — mcrAddShortcutMenu).

  • Добавление меню в качестве глобального быстрого меню

    Эта процедура заменяет все стандартные сочетания клавиш в текущей базе данных. Это не влияет на настраиваемые сочетания меню, прикрепленные к определенным формам, отчетам или элементу управления.

    1. Нажмите кнопку Microsoft Office и выберите "Параметры Access".

    2. В диалоговом окне Параметры Access щелкните элемент Текущая база данных.

    3. В области "Параметры ленты" и "Параметры панели инструментов" введите имя макроса, созданного на шаге 2 (в данном примере — mcrAddShortcutMenu).

  • Настраиваемые shortcut menus заменяют стандартные shortcut menus для объектов, к которые они прикреплены. Если вы хотите сохранить некоторые команды Access для использования в этих меню, воспользуйтесь макрокомандой "ВыполнитьКоманд", чтобы поместить команды в группы макроса для нужных меню.

  • Настраиваемые shortcut menu, присоединенные к control, выделает все прочие настраиваемые меню, определенные в базе данных. Настраиваемые ярлыки, прикрепленные к форме или отчету, являются глобальными.

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

  • Чтобы создать подменю, выполните шаг 1, чтобы создать отдельную группу макроса, которая содержит только команды подменю. Затем снова выполните шаг 1, чтобы определить команды для меню более высокого уровня. Добавьте подменю в качестве элемента в группу макроса более высокого уровня с помощью макрокомассии "ДобавитьМеню". На следующем рисунке показана группа макроса для меню, которое содержит подменю, а затем показана итоговая группа ярлыка. Третья строка в группе макроса создает подменю "Экспорт в..."(mcrSubMenu).

    Контекстное меню, содержащее вложенное меню

    С помощью действий AddMenu в группах макроса для каждого уровня меню можно создать несколько уровней подменю. Убедитесь, что для каждой действия AddMenu задайте значение аргумента "Имя меню". В противном случае подменю будет отображаться в качестве пустой строки в меню более высокого уровня.

  • Условия макроса поддерживаются только в макросах верхнего уровня. Другими словами, с помощью условия в макросах меню можно определить, будет ли отображаться определенное меню или ярлык, но только для меню верхнего уровня. С помощью условий нельзя отобразить или скрыть команды или подменю в меню. Вы также можете использовать условие, чтобы скрыть или показать настраиваемые или глобальные сочетания клавиш.

  • При желании макрос меню, который вы создадут на шаге 2, может быть частью группы макроса. Например, если у вас есть несколько ярлыков для разных объектов или элементов управления, можно создать один объект макроса, содержащий все необходимые макрос. Не забудьте отобразить столбец "Имя макроса" и ввести уникальное имя для каждого макроса. На шаге 3 используйте следующую нотацию для ссылки на макрос: macrogroupname.macroname. Например, mcrAddShortcutMenus.AddMenu2.

К началу страницы

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?

Спасибо за ваш отзыв!

×