Назначение макросу комбинации клавиш
Иногда создается макрос настолько удобный, что хочется иметь его под рукой все время. Сделать это можно, назначив макросу комбинацию клавиш. Затем вместо направления в область переходов вы нажимаете, например <Ctrl>+<M>, и ваш макрос немедленно стартует.
Подсказка
Клавиши очень ценны. Назначайте макросу комбинации клавиш, только если он наверняка будет часто использоваться и с множеством разных форм и таблиц.
Довольно странный способ присваивания макросу комбинации клавиш, принятый в программе Access, состоит в создании еще одного макроса. Этот макрос должен быть назван AutoKeysи его единственная задача — присвоить сочетания клавиш другим макросам.
Как же действует макрос AutoKeys?Все дело в имени. Когда добавляется макрос в группу AutoKeys,вы даете ему специальным образом закодированное имя, реально представляющее собой сочетание клавиш. Когда вы называете макрос ^М, программа Access знает, что его надо запускать, когда нажимается комбинация клавиш <Ctrl>+<M>. На рис. 15.17 показано несколько примеров макросов.
Примечание
На рис. 15.17 видно, что каждый макрос в группе выполняет отдельно хранящийся объект-макрос с помощью макрокоманды ЗапускМакроса.Такой проект необязателен (можно кодировать
каждый макрос непосредственно внутри группы AutoKeysс помощью включения в нее всех необходимых макрокоманд), но он улучшает упорядочивание. Он обеспечивает больше гибкости, поскольку можно использовать наборы разных макросов с одними и теми же сочетаниями клавиш и при этом не удалять макросы из группы AutoKeys.
Рис. 15.17.В данном примере группа макросов AutoKeysсодержит три макроса, которым назначены комбинации клавиш <Ctrl>+<Shift>+<M>, <Ctrl>+<Shift>+<P> и <Ctrl>+<Shift>+<T> соответственно
Единственная особенность применения группы макросов AutoKeys— знание правил именования макросов, позволяющих программе Access применять те сочетания клавиш, которые вы назначили. Access разрешает использовать буквы и цифры в комбинации с клавишами <Ctrl> и <Shift>. (Клавиша <Alt> запрещена, поскольку используется при выборе команд на ленте.) Кроме того, можно использовать функциональные клавиши (<F1>— <F12>) и клавиши <Insert> и <Delete>, также в сочетании с клавишами <Ctrl> и <Shift>.
Вот как именуется макрос:
■ ^ обозначает клавишу <Ctrl>. Таким образом, ^М означает <Ctrl>+<M>;
■ +обозначает клавишу <Shift>. Таким образом, ^+М означает <Ctrl>+<Shift>+<M>;
■ {F1}обозначает клавишу <F1>. Таким образом, +{Fi}означает <Shift>+<Fl>. Все остальные функциональные клавиши применяются аналогично;
■ {INS}обозначает клавишу <Insert> и {DEL}обозначает клавишу <Delete>. Таким образом, ^{INS}— это <Ctrl>+<Insert>.
Подсказка
Прежде чем вы назначите макросу комбинацию клавиш, следует проверить, не выполняет ли это сочетание клавиш что-нибудь полезное. Ваш макрос переопределяет встроенные команды
Access. Примером может служить сочетание <Ctrl>+<S>, сохраняющее текущий объект. Для снижения вероятности возникновения конфликтов при использовании клавиатурных сочетаний используйте комбинации, включающие клавишу <Shift>, которая применяется реже.
Настройка макроса запуска
Неизбежно, время от времени вы будете создавать макрос, который настолько важен, что вы захотите запускать его, как только будет открываться БД. Возможно, этот макрос открывает некоторые важные формы и отчеты, импортирует данные из другого файла или запускает очищающий запрос. Независимо от причины программа Access упрощает процесс выполнения макроса запуска. Все, что нужно сделать, — назвать ваш макрос AutoExec.
Access также предоставляет способ обхода макроса AutoExec.Если держать нажатой клавишу <Shift> во время первой загрузки БД, программа Access не выполняет макрос AutoExec(и не отображает любую стартовую форму, которую вы, может быть, настроили). Но не надейтесь на эту уловку, поскольку очень легко забыть нажать клавишу <Shift> в нужное время.
Подсказка
Помните о том, что если ваш макрос содержит опасные макрокоманды и ваша БД не надежна, программа Access не выполнит его. Если открыть ненадежную БД и выбрать включение опасного содержимого БД с помощью панели сообщений, Access повторно загрузит БД и в этот момент запустит макрос AutoExec.