За допомогою макросів Access можна створювати настроювані контекстні меню, які з'являються, якщо клацнути правою кнопкою миші форми, звіти або окремі елементи керування. Крім того, можна створювати настроювані меню, які відображаються на стрічці для певних форм або звітів.
Щоб створити меню за допомогою макросів, виконайте три основні кроки:
-
Створення об'єкт макросу з вкладеними макросами, які містять команди меню.
-
Створення інший об'єкт макросу, який створює саме меню.
-
Вкласти меню до елемента керування, форми, звіту або бази даних в цілому.
У наведених нижче розділах докладно описано ці кроки.
Порада.: Щоб дізнатися, як створювати настроювані контекстні меню в Access за допомогою коду Visual Basic for Applications (VBA), див. статтю Створення контекстному меню для форми, елемента керування форми або звіту.
Крок 1. Створення об'єкт макросу з вкладеними макросами, які містять команди меню
На цьому кроці ви створюєте об'єкт макросу з вкладеними макросами, кожен вкладений макрос якого буде окремою командою в контекстному меню.
Що таке вкладений макрос?
Вкладений макрос в об'єкті макросу можна використовувати для визначення набору дій макросу. Вкладені макроси в об'єкті макросу можна викликати окремо від різних подій елементів керування та об'єктів. Окремі вкладені макроси в об'єкті макросу мають унікальне ім'я та можуть містити одну або кілька дій макросу.
-
на вкладціСтворити у групі Макроси та код натисніть кнопку Макрос.
-
Для кожної потрібної команди в настроюваному контекстному меню:
-
Додайте оператор макросу вкладеного макросу до вікна конструктора макросів і назвіть вкладений макрос, який потрібно відобразити в контекстному меню (наприклад, "Друк" або "Оновити").
Порада.: Щоб створити клавішу доступу, щоб вибрати команду за допомогою клавіатури, введіть амперсанд (&) перед буквою, яка має бути клавішею доступу в імені команди (наприклад, "&Оновити"). Цю букву буде підкреслено в меню.
-
У вкладеному макросі виберіть першу дію, яку потрібно виконати, коли ви клацнете команду в контекстному меню.
-
Якщо під час вибору цієї команди потрібно виконати інші дії, додайте їх як окремі дії макросу в межах одного вкладеного макросу.
-
-
Збережіть і назвіть об'єкт макросу, наприклад mcrShortcutMenuCommands.
На зображенні нижче показано приклад об'єкта макросу з трьома вкладеними макросами для настроюваного меню або контекстного меню.
Крок 2. Створення другий об'єкт макросу, який створює меню
Цей крок може здатися зайвим, але щоб створити контекстне меню з об'єкта макросу, створеного на кроці 1, потрібно створити другий об'єкт макросу, який містить дію макросу Додатименю. Цю дію макросу іноді називають "макросом меню".
-
на вкладціСтворити у групі Макроси та код натисніть кнопку Макрос.
-
У полі зі списком Додати нову дію у вікні конструктора макросів натисніть кнопку Додатименю.
-
У полі аргументу Ім'я меню для дії макросу Додатименю введіть ім'я меню (наприклад, "Команди форми"). Цей аргумент не обов'язковий, але рекомендовано, якщо на кроці 3 ви плануєте додати меню до вкладки стрічки (наприклад, на вкладці Надбудови форми або звіту). Якщо меню додається як контекстне меню на кроці 3, аргумент Ім'я меню ігнорується.
-
У полі аргументу Ім'я макросу меню введіть ім'я об'єкта макросу, створеного на кроці 1.
-
Збережіть і назвіть цей другий об'єкт макросу, наприклад mcrAddShortcutMenu.
На зображенні нижче показано приклад об'єкта макросу меню, який створює меню, створене на кроці 1.
Крок 3. Вкладення меню до елемента керування, форми, звіту або бази даних
Залежно від того, де має відображатися меню, виконайте одну або кілька з наведених нижче процедур.
Додавання меню до вкладки Add-Ins форми або звіту
Ця процедура призначена для відображення меню на вкладці Надбудови для певної форми або звіту.
-
В області переходів клацніть правою кнопкою миші форму або звіт, де має відображатися меню, і виберіть конструктор.
-
На вкладці Конструктор у групі Знаряддя натисніть кнопку Аркуш властивостей.
-
Виділіть весь об'єкт, вибравши елемент Форма або Звіт зі списку у верхній частині області завдань Аркуш властивостей.
-
На вкладці Інші аркуш властивостей у полі властивості Рядок меню введіть ім'я об'єкта макросу, створеного на кроці 2 (у цьому прикладі – mcrAddShortcutMenu).
-
Збережіть зміни форми або звіту.
Під час наступного відкриття форми або звіту на стрічці з'явиться вкладка Надбудови . Перейдіть на вкладку, щоб відобразити меню, як показано на зображенні нижче.
Докладні відомості про методи настроювання стрічки, наприклад додавання настроюваних вкладок або приховання стандартних вкладок, див. в статті Створення настроювану стрічку в Програмі Access.
Додавання меню як контекстного меню для форми, звіту або елемента керування
Ця процедура призначена для відображення меню, якщо клацнути правою кнопкою миші певну форму, звіт або елемент керування.
-
В області переходів клацніть правою кнопкою миші форму або звіт, де має відображатися контекстне меню, і виберіть конструктор.
-
На вкладці Конструктор у групі Знаряддя натисніть кнопку Аркуш властивостей.
-
Виберіть елемент керування або об'єкт, до якого потрібно вкласти контекстне меню.
Щоб виділити весь об'єкт, виберіть елемент Форма або Звіт у списку у верхній частині області завдань Аркуш властивостей.
-
На вкладці Інші аркуш властивостей у полі властивості Рядок контекстного меню введіть ім'я об'єкта макросу, створеного на кроці 2 (у цьому прикладі – mcrAddShortcutMenu).
-
Переконайтеся, що для властивості Контекстне меню встановлено значення Так.
-
Збережіть зміни форми або звіту.
Коли ви наступного разу відкриєте форму або звіт, а потім клацнете правою кнопкою миші форму, звіт або елемент керування, з'явиться контекстне меню з пов'язаними командами, як показано на зображенні нижче.
Додавання меню як глобального контекстного меню
Ця процедура замінює всі стандартні контекстні меню в поточній базі даних. Це не вплине на настроювані контекстні меню, вкладені до певних форм, звітів або елементів керування.
-
Виберіть Файл > Параметри.
-
У діалоговому вікні Параметри Access виберіть категорію Поточна база даних.
-
У розділі Параметри стрічки та панелі інструментів у полі Рядок контекстного меню введіть ім'я макросу, створеного на кроці 2 (у цьому прикладі – mcrAddShortcutMenu).
-
Натисніть кнопку OK , щоб зберегти зміни в діалоговому вікні Параметри Access .
-
Закрийте та знову відкрийте базу даних, щоб зміни набрали сили.
Настроювані контекстні меню замінюють стандартні контекстні меню для об'єктів, до яких вони додаються. Якщо потрібно зберегти певні команди Access для використання в цих меню, скористайтеся дією макросу Виконатикоманду , щоб вставити команди в об'єкти макросів для потрібних меню.
Настроюване контекстне меню, приєднане до елемента керування, заміняє собою будь-які інші настроювані контекстні меню, визначені в базі даних. Настроюване контекстне меню, приєднане до форми або звіту, заміняє собою настроюване глобальне контекстне меню.
Якщо вказати макрос меню для форми чи звіту або бази даних, access запускає цей макрос меню щоразу, коли відкривається форма, звіт або база даних. Якщо внести зміни до об'єкта макросу меню або об'єкта макросу, який визначає його команди під час відкриття форми, звіту або бази даних, необхідно закрити форму, звіт або базу даних і відкрити її знову, щоб переглянути зміни.
Щоб створити підменю в списку команд контекстного меню, виконайте крок 1, щоб створити окремий об'єкт макросу, який містить лише команди підменю, як показано на зображенні нижче.
Потім виконайте крок 1 ще раз, щоб визначити команди для об'єкта меню вищого рівня. Додавання підменю як елемента в об'єкті макросу вищого рівня за допомогою дії макросу Додатименю . На зображенні нижче показано об'єкт макросу для меню, яке містить підменю. Третій вкладений макрос у цьому прикладі створює підменю Експорт до... (mcrShortcutSubMenuCommands).
На зображенні нижче показано отримане завершене контекстне меню з вкладеним меню:
Ви можете створити кілька рівнів підменю, використовуючи дії макросу AddMenu в об'єктах макросів для кожного рівня меню. Переконайтеся, що для кожної дії Додатименю вказано значення для аргументу "Ім'я меню", інакше вкладене меню відображатиметься як пустий рядок у меню вищого рівня.
Умови виразу макросу з використанням блоків If/Then/Else підтримуються лише в об'єкті макросу меню верхнього рівня. Іншими словами, ви можете використовувати вираз умови в об'єкті макросу меню, щоб визначити, чи відображатиметься певне меню або контекстне меню, але лише для меню верхнього рівня. Не можна використовувати вирази умов для відображення або приховання команд або вкладених меню в меню. Крім того, за допомогою виразу умови можна приховати або відобразити настроюване контекстне меню або глобальне контекстне меню.
За потреби макрос меню, створений на кроці 2, може бути частиною об'єкта макросу. Наприклад, якщо є кілька контекстних меню для різних об'єктів або елементів керування, можна створити один об'єкт макросу, який містить усі необхідні макроси меню. Переконайтеся, що для кожного вкладеного макросу є унікальне ім'я. На кроці 3 використовуйте таку нотацію, щоб посилатися на макрос: MacroObjectName.SubmacroName. Наприклад, mcrAddShortcutMenus.AddMenu2.