Создание настраиваемых и контекстных меню с помощью макросов

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

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

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

  1. Создайте группу макросов, определяющую команды меню.

  2. Создайте другой макрос, создающий само меню.

  3. Назначьте меню элементу управления, форме, отчете или всей базе данных.

В следующих разделах эти действия описаны более подробно.

Действие 1. Создание группы макросов, содержащей команды меню

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

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

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

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

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

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

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

  3. Для каждой команды, которую требуется добавить в пользовательское контекстное меню, выполните указанные ниже действия.

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

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

    • В столбце Макрокоманда выберите первое действие, которое должно выполняться при выборе команды в контекстном меню.

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

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

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

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

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

Действие 2. Создание макроса, который создает меню

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

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

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

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

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

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

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

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

Действие 3. Назначение меню элементу управления, форме, отчету или базе данных

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

  • Добавление меню на вкладку "Надстройки" формы или отчета

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

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

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

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

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

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

      При следующем открытии окна формы или отчета вкладка Надстройки появится на ленте. Откройте вкладку для просмотра меню.

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

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

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

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

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

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

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

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

      Примечание : Чтобы выделить объект целиком, выберите из списка в верхней части области задач страницы свойств значение Форма или Отчет.

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

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

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

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

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

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

Примечание : 

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

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

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

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

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

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

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

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

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

Примечание : Отказ от ответственности относительно машинного перевода. Данная статья была переведена с помощью компьютерной системы без участия человека. Microsoft предлагает эти машинные переводы, чтобы помочь пользователям, которые не знают английского языка, ознакомиться с материалами о продуктах, услугах и технологиях Microsoft. Поскольку статья была переведена с использованием машинного перевода, она может содержать лексические,синтаксические и грамматические ошибки.

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

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

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

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×