Практическое руководство. Выполнение макросов
Обновлен: Ноябрь 2007
После того как макрос был записан или создан вручную, его можно выполнить следующими способами:
С помощью сочетания клавиш в интегрированной среде разработки (IDE).
В обозревателе макросов.
В поле "Найти/Команда" или в окне "Команда".
В интегрированной среде разработки макросов.
По соображениям безопасности Visual Studio больше не поддерживает загрузку кода макроса при двойном щелчке файла .Vsmacros или .Vsmproj.
Если временный макрос не был переименован, он может быть выполнен нажатием сочетания клавиш CTRL+SHIFT+P или с помощью команды Выполнить временный макрос вложенного меню Макросы меню Сервис. Если макрос переименован, доступ к нему можно получить с помощью сочетания клавиш. Visual Studio предоставляет возможность назначить (или "привязать") одну или несколько клавиш в сочетание клавиш для вызова макроса. При нажатии этого сочетания клавиш будет выполнен макрос. В следующей процедуре показана привязка макроса к сочетанию клавиш.
Выполнение макроса в интегрированной среде разработки с помощью сочетания клавиш
Продолжая рассматривать пример из раздела Практическое руководство. Запись макросов, восстановите первоначальное состояние текстового документа, повторно набрав слово "один" с пробелом после него и нажав клавишу HOME для возвращения курсора в начало строки.
Чтобы открыть диалоговое окно Параметры, в меню Сервис выберите пункт Параметры.
В папке "Среда" щелкните элемент Клавиатура.
В поле Показать команды, содержащие введите текст "macros". После этого в списке команд появятся все команды, начинающиеся со слова macros. (Если имя временного макроса не было изменено, оно должно быть Macros.MyMacros.RecordingModule.TemporaryMacro).
Прокрутите список вниз до нужного макроса.
В поле Клавиши введите сочетание клавиш, например CTRL+SHIFT+ALT+A. Макрос будет выполняться по этому сочетанию клавиш. Можно использовать любое другое сочетание клавиш.
Нажмите кнопку Назначить, а затем кнопку ОК. Теперь макрос привязан к заданному сочетанию клавиш.
Вернувшись в текстовый документ, нажмите сочетание клавиш CTRL+SHIFT+ALT+A для вызова макроса.
При выполнении макроса в текстовом файле исчезнет слово "один". Эту процедуру можно повторять для всех создаваемых макросов, присваивая каждому из них свое сочетание клавиш.
Примечание. |
---|
Некоторые сочетания клавиш уже используются средой Visual Studio. В этом случае появляется диалоговое окно с предупреждением о том, что выбранное сочетание клавиш входит в одну из стандартных схем сочетаний клавиш для Visual Studio и не может быть изменена. После этого предлагается сделать копию текущей схемы, чтобы получить возможность использовать выбранное сочетание клавиш. Можно выполнить это действие, но следует иметь в виду, что этот вариант может привести к нежелательным последствиям. Например, человек, не знакомый с новой схемой сочетания клавиш, может нечаянно запустить макрос вместо того, чтобы, например, открыть файл. |
В разделе Практическое руководство. Запись макросов был записан небольшой макрос, удаляющий слово в текстовом документе. Поскольку запуск макросов с помощью обозревателя макросов является самым распространенным методом, в приведенной ниже процедуре описывается этот процесс.
Выполнение макроса в обозревателе макросов
Восстановите первоначальное состояние текстового документа (если это не было сделано ранее), повторно набрав слово "один" и пробел за ним и нажав клавишу HOME для возвращения курсора в начало строки.
В обозревателе макросов откройте узлы "MyMacros" и "RecordingModule" и дважды щелкните элемент "TemporaryMacro" для выполнения. Вместо этого можно нажать сочетание клавиш CTRL+SHIFT+P.
Обратите внимание, что слово "один" было удалено.
Для выполнения макросов также можно использовать поле "Найти/Команда" или окно "Команда" в режиме "Команда".
Выполнение макроса с помощью поля "Найти/Команда" или в окне "Команда"
Восстановите первоначальное состояние текстового документа (если это не было сделано ранее), повторно набрав слово "один" и пробел за ним и нажав клавишу HOME для возвращения курсора в начало строки.
Перейдите в поле "Найти/Команда", нажав клавиши CTRL+/ или щелкнув это поле в верхней части панели инструментов среды Visual Studio, сразу справа от кнопки с изображением бинокля. Либо нажмите клавиши CTRL+BREAK+А для открытия окна "Команда". Выполнять команды макросов можно в любом месте.
Введите знак "больше" (>), чтобы перевести поле "Найти/Команда" или окно "Команда" в режим "Команда" (из режима "Найти" или "Интерпретация").
После знака "больше" (>) введите букву "m", чтобы вывести выпадающий список команд, относящихся к макросам. Выберите в списке элемент "Macros.MyMacros.RecordingModule.TemporaryMacro" и нажмите клавишу ВВОД.
Обратите внимание, что слово "один" в текстовом файле опять исчезло, что свидетельствует об успешном выполнении макроса.
Макросы можно также выполнять в интегрированной среде разработки макросов (не путать с обозревателем макросов). Эта возможность используется в основном при отладке пользовательских макросов. Дополнительные сведения об этом см. в разделе Отладка макросов.
Выполнение макроса в интегрированной среде разработки макросов
Восстановите первоначальное состояние текстового документа (если это не было сделано ранее), повторно набрав слово "один" и пробел за ним и нажав клавишу HOME для возвращения курсора в начало строки.
Перейдите в интегрированную среду разработки макросов с помощью сочетания клавиш ALT+F11 или выбрав пункт Интегрированная среда разработки макросов во вложенном меню Макросы меню Сервис.
В интегрированной среде разработки макросов щелкните правой клавишей мыши элемент "TemporaryMacro" и выберите команду Правка для просмотра его кода.
Поместите курсор в функцию "TemporaryMacro" и нажмите клавишу F5 или выберите команду Запуск в меню "Отладка".
Обратите внимание, что слово "один" в текстовом файле опять исчезло, что свидетельствует о том, что макрос опять был выполнен успешно.
Выполнение макроса можно отменить, если он, например, вошел в бесконечный цикл; для этого следует щелкнуть значок вращающейся кассетной бобины в строке состояния. В интегрированной среде разработки можно также выполнять отладку макросов. Дополнительные сведения об отладке см. в разделе Отладка макросов. Дополнительные сведения о выполнении макросов см. в разделе Проблемы, связанные с записью и выполнением макроса.
Некоторым макросам требуются параметры или переключатели. Их можно передать программно, а также с помощью поля "Найти/Команда" или окна "Команда". Передать параметры или переключатели с помощью обозревателя макросов нельзя.
Передача параметров и переключателей в макросы
Для программной передачи параметров создайте макрос с аргументами в его процедуре "Sub", как показано далее.
Sub Test(Optional ByVal FirstArg As String = "", Optional ByVal SecondArg As String = "") MsgBox(FirstArg & vbCr & SecondArg) End Sub
При вызове макроса добавьте параметры в его вызов, как показано далее.
Test ("Test run number: ", 10)
Чтобы передать те же параметры макросу с помощью поля "Найти/Команда" или окна "Команда", перечислите параметры после команды вызова, как показано далее.
>Macros.MyMacros.Module1.Test "Test Run Number: " 10
См. также
Задачи
Практическое руководство. Управление макросами
Практическое руководство. Ссылки на компоненты COM и .NET Framework в макросах.
Практическое руководство. Обработка событий среды в макросах
Основные понятия
Автоматизация повторяющихся действий с помощью макросов
Безопасность макросов и проблемы, связанные с общим доступом