Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 12934
Последний выпуск: 9.07.2014

Что такое макрос?

<< Оглавление

Что такое макрос?

Не имеет значения, в каком приложении пакета Office вы работаете - это может быть Word, Excel или PowerPoint - вероятно вы по нескольку по нескольку раз в день выполняете некоторые рутинные операции, которые вы либо уже десятки раз выполняли раньше, либо которые вам нужно повторить много раз. В частности, это форматирование отдельных фрагментов текста, последовательное выполнение нескольких команд меню или форматирование документа определенным образом. Я думаю, что вы мечтаете избавиться от этой рутины и сократить время, необходимое на выполнение работы.

Конечно, большинство приложений пакета Office содержит в меня Правка команду повторить, с помощью которой можно повторить последнее действие. Это очень удобно, но с помощью этой команды можно повторить только одно действие. Если же нужно повторить несколько действий, то данная команда не подойдет.

Что следует делать в таких случаях?

Можно автоматизировать практически любую рутинную работу и повторяющуюся работу. Можно выполнить эту автоматизированную работу МГНОВЕННО, просто выбрать одну команду, нажав клавишу либо щелкнув на панели инструментов.

Это звучит слишком хорошо, чтобы быть правдой, но, используя VBA, можно сделать нечто, называемое МАКРОСОМ. Он в действительности состоит из списка действий, которые надо запомнить для повторного выполнения. Таким образом, макрос не сильно отличается от кулинарного рецепта, состоящего из набора инструкций, в которых говориться, какие действия необходимо выполнить, чтобы что-нибудь приготовить.

Макрос - это набор инструкций, которые сообщают программе (такой как Word или Excel), какие действия следует выполнить, чтобы достичь определенной цели.

Различие, однако, состоит в том, что макрос объединяет все эти инструкции в одном сценарии, который затем можно вызвать с помощью команды меню, кнопки панели инструментов или комбинации клавиш. С этой точки зрения макрос отличается от, скажем, рецепта приготовления хлеба, но похож на автоматическую хлебопекарню, загрузив ингредиенты в которую, можно испечь хлеб одним нажатием кнопки.

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

Например, в любом приложении можно закрыть текущее (активное) окно, выбрав команду Закрыть из меню Файл. В макросе VBA следующий оператор позволяет сделать тоже самое: ActiveWindow.Close (АктивноеОкно.Закрыть)

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

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

Конечно, если вы хотите воспользоваться средствами VBA, вам нужно будет добавить в записанный макрос несколько строк кода самостоятельно. Язык VBA разработан таким образом, чтобы можно было быстро начать программировать на нем, а затем по мере изучения совершенствовать свои навыки. С помощью языка VBA можно почти сразу (без длительного обучения) начать создавать полезные макросы. Данное свойство выгодно отличает VBA от других языком программирования.

Самый простой способ создать макрос - воспользоваться средством записи макросов. Для этого нужно просто запустить средство записи и затем выполнить операции, которые вы хотите автоматизировать (таким образом можно выделить текст, а также выбирать команды меню или изменить опции диалогового окна.) Средство записи переведет все, что вы сделаете, в соответствующие операторы VBA. Результат записи будет сохранен в отдельной области, называемой модулем, откуда можно будет повторить всю процедуру в любое время.

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

  1. Откройте и подготовьте приложение, в котором будет записывать макрос. В Microsoft Office, например, если хотите записать последовательность параметров форматирования, выделите текст, с которым будете работать.
  2. Выберите команду меню Сервис=>Максрос=>Начать запись. НА экране появится диалоговое окно Запись макроса.
  3. В поле Имя макроса по умолчанию предлагается стандартное имя макроса (такое как Макрос1), но его можно заменить любым другим. Тем не менее, есть несколько ограничений на имена макросов. Имя не может состоять более чем из 255 символов. (Этого более чем достаточно. Поскольку вы часто будете вводить имена макросов, рекомендую давать макросам относительно короткие и более информативные имена). Первым символом в имени должна быть буква или символ подчеркивания "_". В именах не допускается использование точек и пробелов.
  4. В Microsoft Office и Excel можно назначить макросу комбинацию клавиш. В Word щелкните на кнопке панели, чтобы связать макрос с кнопкой инструментов, также можно щелкнуть на кнопке клавишам, чтобы назначить комбинацию клавиш для вызова макроса. В Excel введите букву в текстовое поле Сочетание клавиш: Ctrl+.
  5. В приложениях Word, Excel и PowerPoint воспользуйтесь раскрывающимся списком "Сохранить в", чтобы указать, где будет сохранен макрос. В Microsoft Word можно сохранить макрос в любом открытом шаблоне (после чего макрос будет доступен в любом документе, использующем этот шаблон) или открытом документе (в результате он будет доступен только в этом документе). В Excel имеется возможность сохранить макрос в текущей рабочей книге, в новой рабочей книге или в личной книге макросов. При выборе последней возможности макрос будет доступен во всех рабочих книгах. В PowerPoint макрос можно сохранить в любой открытой презентации.

    Личная книга макросов Excel является скрытой книгой (файл называется Personal.xls), которая открывается автоматически при запуске Excel. Это очень удобно, поскольку каждый макрос, сохраненный в этой книге, будет доступен для всех открытых рабочих книг. Если вы хотите использовать эту книгу, то ее сначала нужно будет отобразить. Для этого выполните команду Окно=>Отобразить и убедитесь, что в диалоговом окне "Отобразить" выделена строчка PERSONAL.XLS. Затем щелкните по кнопке ОК.

  6. В поле "Описание" можно ввести описание макроса.
  7. Щелкните на кнопке ОК. В результате вы вернетесь в документ, а в строке состояния появится надпись "Запись" или ЗАП, а также отобразится панель инструментов "Остановить запись" (это очень маленькая панель, которая появляется приблизительно в центре экрана, а в ее строке заголовка отображается только "Ос")
  8. Выполните действия, которые нужно записать в макросе. Поскольку средство записи записывает все ваши действия (кроме щелчков на кнопках, расположенных на панели инструментов "Остановить запись"), будьте внимательны и не выполняйте никаких лишних действий и команд во время записи макроса.
  9. После того как все действия будут записаны, выполните команду Сервис=>Макрос=>Остановить запись, которая расположена на одноименной панели инструментов.

Когда вы начнете запись макроса, приложение создает "проект VBA". Это контейнер, который содержит документ, используемый для записи макроса, и специальный объект, который называется модуль и содержит операторы макросы.

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

  1. Выберите команду Сервис=>Макрос=>Макросы (или нажмите комбинацию клавиш Alt+F8), чтобы отобразить диалоговое окно "Макрос"
  2. В списке "Имя макроса" выберите имя макроса, который вы только что записали.
  3. Щелкните на кнопке "Изменить". Откроется сначала окно редактора Visual Basic, затем - соответствующий модуль, и на экране появится макрос.

Обычно макрос содержит следующие элементы.

Ключевое слово Sub. Этим обозначается начало макроса. Из-за ключевого слова Sub (от анг subroutine - подпрограмма) командные макросы также называются процедурами-подпрограммами.

Имя макроса. После ключевого слова Sub Excel добавляет имя макроса, за которым следует открывающаяся и закрывающаяся скобки.

Комментарии. Первые несколько строк кода начинаются с апострофа "'", которые говорят редактору VBA, что эти строки являются комментариями. Комментарии отображаются только в окне редактора, при выполнении макроса они не обрабатываются. В каждом записанном макросе в комментариях указывается имя макроса, а также описание, которые вы ввели в диалоговом окне "Запись макроса" (В Excel также указывается комбинация клавиш, если она была задана).

Макрооператоры. Основное тело макроса (другими словами, строки между ключевыми словами Sub и End Sub, исключая комментарии в начале макроса) состоит из последовательности операторов. Они являются интерпретацией действий, которые вы выполнили во время записи макроса.

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

Часто нужно добавить новые действия в записанный макрос. К сожалению, VBA не предоставляет никаких возможностей записи новых операторов в существующий макрос. Вместо этого, нужно сначала записать новый макрос, содержащий необходимые команды, и отобразить его код на экране. Затем можно использовать стандартные средства Windows копирования и вставки (можно просто перетащить текст из одного окна в другое), чтобы перенести необходимые операторы из нового макроса с исходный.


Оглавление

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
92K
29 апреля
staroi.bukreev
0 / / 29.04.2014
+1 / -2
Мне нравитсяМне не нравится
29 апреля 2014, 11:48:00
Статья толковая.
2.
91K
07 ноября 2013 года
Юрий Лылов
0 / / 07.11.2013
+14 / -2
Мне нравитсяМне не нравится
7 ноября 2013, 10:03:25
непонятно ничегошеньки,кроме того что макрос может помочь
автоматизировать какие-либо процессы
чего например записывать и как это работает-все только на пальцах
а зримо ничего нет ...
показать надо на простых примерах ,как это работает
а так как здесь -это пишется для тех кто и так это все знает
спасибо за внимание
3.
89K
03 марта 2013 года
Константин Суздалев
0 / / 03.03.2013
+10 / -15
Мне нравитсяМне не нравится
3 марта 2013, 15:22:19
Блестяще написанная статья!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог