Створення настроюваних і контекстних меню за допомогою макросів

Застосовується до
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

Щоб створити меню за допомогою макросів, необхідно виконати три основні кроки.

  1. Створення об'єкта макросу із вкладеним макросом, який містить команди меню.
  2. Створіть ще один об'єкт макросу, який сам створює меню.
  3. Вкладіть меню в елемент керування, форму, звіт або до бази даних у цілому.

У наведених нижче розділах докладно описано ці кроки.

Порада.

Щоб дізнатися, як створювати настроювані контекстні меню в Access за допомогою коду Visual Basic for Applications (VBA), див. статтю Створення контекстного меню для форми, елемента керування форми або звіту.

Крок 1. Створення об'єкта макросу із вкладеними макросами, які містять команди меню

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

Що таке вкладений макрос?

За допомогою вкладеного макросу в об'єкті макросу можна визначити набір дій макросу. Вкладені макроси в об'єкті макросу можна викликати окремо від різних подій керування та об'єкта. Кожен окремий вкладений макрос в об'єкті макросу має унікальне ім'я та може містити одну або кілька дій макросу.

  1. на вкладціСтворити у групі Макроси та код натисніть кнопку Макрос.

  2. Для кожної команди, яка має бути в настроюваному контекстному меню, зробіть ось що.

    1. Додайте оператор "Макрос вкладеного макросу " до вікна конструктора макросів і назвіть вкладений макрос, який має відображатися в контекстному меню (наприклад, "Друк" або "Оновити").

      Порада.

      Щоб створити клавішу доступу, яка дасть змогу вибрати команду за допомогою клавіатури, введіть амперсанд (&) перед буквою, яка має використовуватися як клавіша доступу в імені команди (наприклад, "&Refresh"). Ця буква буде підкреслена в меню.

    2. У вкладеному макросі виберіть першу дію, яку потрібно виконати під час вибору команди в контекстному меню.

    3. Якщо потрібно виконати інші дії, вибравши цю команду, додайте їх як окремі дії макросу в межах одного вкладеного макросу.

  3. Збережіть об'єкт макросу й надайте йому ім'я, наприклад mcrShortcutMenuCommands.
    На зображенні нижче показано приклад об'єкта макросу з трьома вкладеними макросами для настроюваного меню або контекстного меню.
    Знімок екрана: вікно конструктора макросів Access із трьома операторами вкладеного макросу.

Крок 2. Створення другого об'єкта макросу, який створює меню

Цей крок може здатися зайвим, але щоб створити контекстне меню з об'єкта макросу, створеного на кроці 1, потрібно створити другий об'єкт макросу з дією макросу "Додатименю". Цю дію макросу іноді називають "макросом меню".

  1. на вкладціСтворити у групі Макроси та код натисніть кнопку Макрос.
  2. У полі зі списком " Додати нову дію " у вікні конструктора макросів виберіть пункт "Додатименю".
  3. У полі аргументу « Ім'я меню » дії макросу «Додатименю » введіть назву меню (наприклад, «Команди форми»). Цей аргумент не обов'язковий, але рекомендовано, якщо на кроці 3 планується додати меню до вкладки стрічки (наприклад, до вкладки " Надбудови" форми або звіту). Якщо на кроці 3 меню додається як контекстне меню, аргумент « Ім'я меню » ігнорується.
  4. У полі аргументу « Ім'я макросу » в меню введіть ім'я об'єкта макросу, створеного на кроці 1.
  5. Збережіть другий об'єкт макросу й назвіть його, наприклад mcrAddShortcutMenu.
    На ілюстрації нижче показано об'єкт макросу меню, який створює меню, спроектоване на кроці 1.
    Знімок екрана: об'єкт макросу Access із дією макросу

Крок 3. Вкладення меню в елемент керування, форму, звіт або базу даних

Залежно від необхідного розташування меню виконайте одну або кілька з наведених нижче процедур.

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

Використовуйте цю процедуру, щоб меню відображалося на вкладці "Надбудови" для певної форми або звіту.

  1. В області переходів клацніть правою кнопкою миші форму або звіт, де має відображатися меню, і виберіть пункт "Режим конструктора".
  2. На вкладці Конструктор у групі Знаряддя натисніть кнопку Аркуш властивостей.
  3. Виділіть увесь об'єкт, вибравши у верхній частині області завдань "Аркуш властивостей" пункт "Форма " або "Звіт ".
  4. На вкладці "Інші " аркуша властивостей у полі властивості рядка меню введіть ім'я об'єкта макросу, створеного на кроці 2 (у цьому прикладі – "mcrAddShortcutMenu").
  5. Збережіть зміни форми або звіту.
    Коли форму або звіт буде відкрито наступного разу, на стрічці з'явиться вкладка "Надбудови ". Виберіть вкладку, щоб відобразити меню, як показано на зображенні нижче.
    Знімок екрана: стрічка надбудов в Access
    Докладні відомості про способи налаштування стрічки, як-от додавання настроюваних або приховання стандартних вкладок, див. в статті Створення користувацької стрічки в Access.

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

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

  1. В області переходів клацніть правою кнопкою миші форму або звіт, де має відображатися контекстне меню, і виберіть пункт "Режим конструктора".
  2. На вкладці Конструктор у групі Знаряддя натисніть кнопку Аркуш властивостей.
  3. Виберіть елемент керування або об'єкт, до якого потрібно приєднати контекстне меню.
    Щоб виділити весь об'єкт, виберіть « Форма » або «Звіт » у списку вгорі області завдань «Аркуш властивостей».
  4. На вкладці "Інші " аркуша властивостей у полі властивості рядка контекстного меню введіть ім'я об'єкта макросу, створеного на кроці 2 (у цьому прикладі – "mcrAddShortcutMenu").
  5. Переконайтеся, що для властивості контекстного меню встановлено значення "Так".
  6. Збережіть зміни форми або звіту.
    Наступного разу, коли ви відкриєте форму або звіт і клацнете їх правою кнопкою миші, відобразиться контекстне меню з пов'язаними командами, як показано на зображенні нижче.
    Знімок екрана: контекстне меню у формі Access

Додавання меню як глобального контекстного меню

Ця процедура замінює всі контекстні меню за промовчанням у поточній базі даних. Це не вплине на настроювані контекстні меню, вкладені в певні форми, звіти або елементи керування.

  1. Виберіть пункт «Параметри файлу>».
  2. У діалоговому вікні Параметри Access виберіть категорію Поточна база даних.
  3. У розділі "Параметри стрічки та панелі інструментів" у полі " Рядок контекстного меню " введіть ім'я макросу, створеного на кроці 2 (у цьому прикладі – "mcrAddShortcutMenu").
  4. Щоб зберегти зміни, у діалоговому вікні "Параметри Access" натисніть кнопку "OK".
  5. Закрийте, а потім знову відкрийте базу даних, щоб зміни набрали сили.

Настроювані контекстні меню замінюють контекстні меню за промовчанням для об'єктів, до яких їх вкладено. Якщо потрібно зберегти використання певних команд Access для цих меню, скористайтеся дією макросу "Виконатикоманду", щоб перенести їх в об'єкти макросу потрібних меню.

Настроюване контекстне меню, яке прикріплено до елемента керування, заміняє собою будь-які інші спеціальні контекстні меню, визначені в базі даних. Настроюване контекстне меню, яке прикріплене до форми або звіту, заміняє власне глобальне контекстне меню.

Якщо вказати макрос меню для форми, звіту або бази даних, Access запускатиме цей макрос меню щоразу, коли відкривається форма, звіт або база даних. Якщо під час відкриття форми, звіту або бази даних внесено зміни до об'єкта макросу меню або макросу, який визначає його команди, необхідно закрити форму, звіт або базу даних і відкрити їх знову, щоб зміни відобразилися знову.

Щоб створити підменю в списку команд контекстного меню, виконайте крок 1 для створення окремого об'єкта макросу, який містить лише команди підменю, як показано на ілюстрації нижче.

Знімок екрана: макрос у програмі Access із двома вкладеними макросами

Потім знову виконайте крок 1, щоб визначити команди для об'єкта меню вищого рівня. Додати підменю як елемент до об'єкта макросу вищого рівня за допомогою дії макросу «Додатименю ». На наведеному нижче зображенні показано об'єкт макросу для меню, яке містить підменю. Третій вкладений макрос у цьому прикладі створює підменю "Експортувати до... " (mcrShortcutSubMenuCommands).

Знімок екрана: макрос Access із чотирма вкладеними макросами

На ілюстрації нижче показано отримане завершене контекстне меню з підменю:

Знімок екрана: контекстне меню з вкладеним меню

За допомогою дій макросу "Додатименю" в об'єктах макросу для кожного рівня меню можна створити кілька рівнів вкладених меню. Переконайтеся, що для кожної дії «Додати меню» вказано значення аргументу «Ім'я меню», інакше підменю відображатиметься як пустий рядок у меню вищого рівня.

Умови виразу макросу з блоками "Якщо", "Тоді" або "Інакше " підтримуються лише в об'єкті макросу меню верхнього рівня. Іншими словами, ви можете використати вираз умови в об'єкті макросу меню, щоб визначити, чи буде відображатися певне меню або контекстне меню, але лише для меню верхнього рівня. Вирази умови не можна використовувати для відображення або приховання команд або підменю в меню. Також можна використовувати вираз умови, щоб приховати або показати настроюване контекстне меню або глобальне контекстне меню.

Крім того, макрос меню, створений на кроці 2, може бути частиною об'єкта макросу. Наприклад, за наявності кількох контекстних меню для різних об'єктів або елементів керування можна створити один об'єкт макросу, який міститиме всі необхідні макроси меню. Переконайтеся, що кожен вкладений макрос має унікальне ім'я. На кроці 3 використовуйте такі нотації, щоб посилатися на макрос: Ім'я_об'єкта макросу.Ім'я_вкладеного макросу. Наприклад, mcrAddShortcutMenus.AddMenu2.

На початок сторінки