Способы выполнения макрокоманд. Выполнение макроса. Развертывание и свертывание макрокоманд или блоков

МАКРОСЫ.

Большинство пользователей создавая и используя документы Microsoft Office используют стандартные возможности приложений. Однако Office дает широкие возможности для автоматизации работы с документами – это программирование в VBA и использование макросов.

VBA, язык программирования Visial Basic for Applications, - язык программирования, встроенный в приложения Office, используемый для создания макросов.

Макрос и макрорекордер.

Вместо повторения однообразных команд в MS Office можно создавать макрос, который будет выполнять эту последовательность команд автоматически. Макрос позволяет ввести одиночную команду, выполняющую ту же задачу, что и при выполнении группы команд.

Макрос – это программа, написанная на VBA. VBA – специальная версия Visial Basic (for Application).

В Office существует 2 способа создания макроса:

§ запись макрорекордером действий пользователя

§ открытие окна VBA и ввод операторов VBA

Чаще всего пользователь использует VBA для коррекции макроса, записанного рекордером.

Для работы с макросами в MS Office 2007-13 выводим на ленту вкладку РАЗРАБОТЧИК (кнопка OFFICE/ ПАРАМЕТРЫ Word / НАСТРОЙКА ЛЕНТЫ).

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

Запись макроса.

§ вкладка РАЗРАБОТЧИК/ЗАПИСЬ МАКРОСА, даем имя макросу. Имя не должно содержать пробелы, начинаться с буквы, не содержать спец.символы. максимальная длина имени – 80 символов. Если созданному макросу присваивается имя, совпадающее с именем встроенного макроса Microsoft Word, то существующий макрос заменяется новым.

§ выполняем команды

§ вкладка РАЗРАБОТЧИК/ОСТАНОВИТЬ ЗАПИСЬ

Обычно, макрос доступен для шаблона Normal.dot, он автоматически сохраняется вместе c ним.

Запуск макроса.

§ вкладка РАЗРАБОТЧИК/МАКРОСЫ, выбираем нужный и ВЫПОЛНИТЬ.



Назначение макросу кнопки на панели быстрого доступа и/или сочетания клавиш.

§ или кнопка OFFICE/ ПАРАМЕТРЫ Word/НАСТРОЙКА

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

При назначении макросу сочетания клавиш, следует помнить, что в Worde зарезервированы многие сочетания и найти «свободное» сочетание непросто.

Удаление макроса.

§ вкладка РАЗРАБОТЧИК/МАКРОСЫ, выбираем нужный и УДАЛИТЬ.

Изменение текста макроса.

При записи макроса рекордер сохраняет последовательность текстовых инструкций на VBA. Это текстовое описание называется исходным кодом. Его можно просмотреть и исправить:

§ вкладка РАЗРАБОТЧИК/МАКРОСЫ, выбираем нужный и ИЗМЕНИТЬ.

Для запуска макроса из редактора VBA: кнопка RUN ( )

Создание автоматически выполняемых макрокоманд.

В Word предусмотрены 5 специальных имен для макрокоманд

VBA – программы состоят из простой последовательности действий: программа получает доступ к объекту, придает ему свойства, производит с ним действия. Каждый документ, абзац, … – это объекты. Например, объект Selection – выделенный фрагмент. Сам Word – объект Appication.(см. приложения 2,3)



Каждый объект имеет свои характеристики – свойства.

Многие объекты выполняют действия, которые называются методами.

Например,

ActiveDocument.Close (объект - активный документ, метод - закрыть)

В соответствии с синтаксисом VBA разделитель- точка.

Обычно: объект, точка, метод и/или свойства (через точку)

Правая мышь на объекте – список методов, свойств (List Properties/Methods)

Последовательность With ….. End With позволяет указать несколько методов/свойств для одного объекта, не повторяя многократно его имя.

Практическое задание 1.

Запишем макрос с именем «мой_первый_макрос», в который запишем следующие команды:

§ Альбомная ориентация страницы

§ Масштаб просмотра – 33%

В результате получим следующий код

Sub мой_первый_макрос()

"

" мой_первый_макрос Макрос

" Макрос записан 03.12.07

With ActiveDocument.PageSetup

LineNumbering.Active = False

Orientation = wdOrientLandscape

TopMargin = CentimetersToPoints(1.5)

BottomMargin = CentimetersToPoints(3)

LeftMargin = CentimetersToPoints(2)

.RightMargin = CentimetersToPoints(2)

Gutter = CentimetersToPoints(0)

HeaderDistance = CentimetersToPoints(1.25)

FooterDistance = CentimetersToPoints(1.25)

PageWidth = CentimetersToPoints(29.7)

PageHeight = CentimetersToPoints(21)

FirstPageTray = wdPrinterDefaultBin

OtherPagesTray = wdPrinterDefaultBin

SectionStart = wdSectionNewPage

OddAndEvenPagesHeaderFooter = False

DifferentFirstPageHeaderFooter = False

VerticalAlignment = wdAlignVerticalTop

SuppressEndnotes = False

MirrorMargins = False

TwoPagesOnOne = False

GutterPos = wdGutterPosLeft

ActiveWindow.ActivePane.View.Zoom.Percentage = 33

End Sub

Можно исправить текст этого макроса, например,

§ изменим процент, например 33 на 42

§ изменим поля

§ заменим False на True в строке.LineNumbering.Active = False (будет автонумерация строк)

§ заменим в строке.Orientation = wdOrientLandscape на wdOrientPortrait , ориентация бумаги будет книжная

После сохранения данный макрос можно вновь запустить для любого другого документа.

Практическое задание 2.

Создадим макрос создающий окно сообщений при открытии файла.

MessageBox - окно сообщения, которое появляется на экране.

Для вывода MessageBox при открытии какого-либо файла MS Word необходимо создать макрос с именем AutoOpen и внутри него вызвать функцию msgbox. Это будет выглядеть так:

Sub AutoOpen()

" Данная функция вызывается при открытии документа

" Выводим MessageBox

MsgBox "Здравствуй, дружок!"

Последовательность действий (один из вариантов):

§ вкладка РАЗРАБОТЧИК/МАКРОСЫ, даем любое имя и СОЗДАТЬ

§ В окне редактора VBA, меняю имя и печатаем текст программы на VBA

§ Сохраняем

§ Запускаем

Теперь при открытии каждого документа, будем получим сообщение.

Команда для вывода окна сообщений имеет вид:

MsgBox (promt, button,title,helpfile)

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

· button – необязательный аргумент, определяющий тип окна сообщения, наличие кнопок Ок, Отмена, Стоп, Пропустить и т.д

· title – необязательный аргумент, определяющий заголовок окна

· helpfile– необязательный аргумент, определяющий какой файл справки будет открыт, если пользователь нажмет F1

Практическое задание 3.

Создание простого диалогового окна.

Для создания диалогового окна необходимо создать визуальный объект, именуемый формой. Форма – аналог окна, на которое можно помещать элементы управления (кнопки, переключатели, флажки и т.п). Каждая форма является частью пользовательского интерфейса. Каждая форма является объектом,и, в свою очередь, содержит множество объектов, каждым из которых можно управлять по отдельности.

Создание формы:

§ Окно VBA (ALT+F11)

§ INSERT/New Form или UserForm (вставка новой формы)

§ В окне Properties можно настроить свойства формы, например свойство Caption позволяет дать форме имя

§ Используя панель ToolBox устанавливаем на форму элементы управления:

· Label –надпись

· CommandButton- командная кнопка для выполнения какого-либо действия

· TextBox -текстовое поле

· Image – рисунок

· ChtckBox – флажок

§ Настраиваем работу каждого элемента. Например, 2 щелчка на CommandButton даст возможность написать те операторы VBA, которые должны выполняться при нажатии на эту кнопку.

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

Load UserForm1

UserForm1.Show

Т.к. освоение VBA требует много времени и знаний основ алгоритмизации, пользователи обычно записывают команды Word с помощью макрорекордера, затем исправляют и/или дописывают макрос.


Лабораторная работа № 1 «Создание и форматирование таблиц в Excel» (форма обучения – очная, заочная) – интерактивная форма «Работа в малых группах».

1. Создать таблицу по образцу:

A B C D E F G
№ п/п Клиент Дата Время (час, мин) Сумма, руб. Примеч.
за месяц за год
Воронин 15.фев 3,7 Сервер
Воронин 18.фев 5,8 Сервер
Скобелев 22.фев 3,5 Монитор
Васин 15.мар 4,9 Принтер
Васин 24.мар 7,5 Модем
Воронин 05.апр 4,6 Сервер
Скобелев 20.апр 3,8 Монитор
Скобелев 25.апр 7,2 Принтер
ИТОГО

4. Установить параметры страницы: поля – все по 1,5 см, формат А4, книжная.

5. Заполнить нумерацию строк с 1 по 8 автоматической нумерацией.

6. Присвоить датам формат даты – 14 мар 01, суммам – денежный формат.

В созданной таблице (см. выше):

1. Выделить значения между 200 и 300 синим курсивом, между 2500 и 3500 красным курсивом (с помощью условного форматирования).

2. Отсортировать графу «Клиент» по алфавиту по возрастанию.

3. Создать диаграммы: гистограмму «клиент – затраты времени», круговую – «клиент – сумма за год» (с заголовками и подписями данных).

10. Добавить верхний колонтитул: Форма 067–15–887.

11. Разместить таблицу и диаграммы на одной странице, установить поля по 1,5 см; задать горизонтальное и вертикальное выравнивание по центру; добавить общий заголовок – КЛИЕНТЫ ФИРМЫ X–RING , вставить рисунок.

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

1. Опишите типы и форматы данных, представление данных в ячейке.

2. Использование автозаполнения, автоввода, автозамены при вводе данных.

3. Условное форматирование данных по значению и по результатам вычислений.

4. Чем отличаются абсолютные и относительные ссылки.

5. Опишите порядок использования мастера функций.

6. Опишите порядок вставки и форматирования диаграмм в электронную таблицу.

7. Как вставить в электронную таблицу графический объект?

Раздел 8.1. – 1.

Раздел 8.2. – 1, 2, 3.

Лабораторная работа № 2 «Мастер функций в Excel. Абсолютные и относительные ссылки»

1. Создать таблицу:

A B C D E
Зарплата отдела “Маркетинг” в 1–ом квартале
Фамилия январь февраль март %
Иванов 0,20
Павлов 0,30
Антонов 0,25
Карпов 0,28
Некрасов 0,21
Постников 0,32
Аверин 0,15
Якушев 0,22
Васин 0,27
Объем продаж, $
Средний курс доллара, руб.

– (COS (1,2) + SIN (0,7)) * КОРЕНЬ(9) / 4;

– корни квадратного уравнения x 2 – 5x + 6 = 0;

Задания для самостоятельной работы

– все значения «Итого»;

– СРЗНАЧ (С3:С17) * МАКС (Е3:Е17) / 32;

Для выполнения практического задания необходимо освоить следующие разделы темы 3.4: вычисления по формулам; абсолютные и относительные ссылки на ячейки и блоки ячеек; копирование формул; использование функции в формулах; классификация функций в MS Excel; применение мастера функций.

Контрольные вопросы для самопроверки

1. Какие типы встроенных функций можно использовать в электронной таблице?

2. Для чего нужны ссылки на ячейки? Что такое абсолютные и относительные ссылки на ячейки в электронной таблице? Как осуществляется взаимное преобразование этих ссылок? В каких случаях используются абсолютные, а в каких – относительные ссылки?

3. Что такое формат ячейки? Какие приемы форматирования данных в ячейках вы знаете?

4.Как осуществляются в MS Excel вычисления с помощью формул? Как вставляется функция в формулу? Как задаются ссылки на аргументы функций?

6. Что дает механизм копирования формулы?

7. Что такое и как выполняется «автосуммирование»?

Раздел 8.1. – 1.

Раздел 8.2. – 1, 2, 3.

Лабораторная работа № 3 «Матричные операции в Excel» (форма обучения – очная, заочная) – интерактивная форма «Тренинг».

1. Найти произведение матриц:

–6 –7
;
*
*
–8 –12 –2 –6
–4

2. Решить системы уравнений:

X 1 – x 2 + x 3 = 3, x 1 + 2x 2 + 3x 3 – 2x 4 = 6, 2x – 3y + z –2 = 0,

2x 1 + x 2 + x 3 = 11, 2x 1 + 4x 2 – 2x 3 – 3x 4 = 18, x + 5y – 4z + 5 = 0,

x 1 + x 2 + 2x 3 = 8. 3x 1 + 2x 2 – x 3 + 2x 4 = 4, 4x + y – 3z + 4 = 0.

2x 1 – 3x 2 + 2x 3 + x 4 = – 8.

3x + 2y + z = 5, x – 2y + 3z = 6, 4x – 3y +2z = 9,

2x + 3y + z = 1, 2x + 3y – 4z = 20, 2x + 5y – 3z = 4,

2x + y + 34z = 11. 3x – 2y – 5z = 6. 5x + 6y – 2z = 18.

Задания для самостоятельной работы

1. Найти произведение матриц:

*
6
*
1
–3
;
12
–2 –6
–5 –3 –5 –1

2. Решить системы уравнений:

X + y + 2z = – 1, x + y + 2z = – 1, 2x – y – z = 4,

2x ­– y – 3z = 4, 2x – y + 2z = – 4, 3x + 4y – 2z =11,

5x + 6y – 2z = 18. 4x + y + 4z = – 2. 3x – 2y + 4z = 11.

3x + 4y + 2z = 8, 4x + 7y – 3z = – 10, – 3x + 6y + 8z = – 7,

2x – y – 3z = – 4, 2x + 9y – z = 8, 9x – 11y – 15z = – 15,

x + 5y + z = 1. x – 6y + 3z = – 3. 18x – 22y + 3z = – 3.

Для подготовки к лабораторной работе и выполнению самостоятельной работы необходимо освоить следующие разделы темы 3.4: матричные операции и методы решения линейных уравнений в Excel с использованием матричных операций.

Контрольные вопросы для самопроверки

1. Опишите порядок умножения матриц.

2. Опишите порядок решения систем линейных уравнений.

3. Сформулируйте правило умножения матриц по соотношению количества строк и столбцов.

4. Какая встроенная функция используется для умножения матриц?

5. Какие встроенные функции используется для решения систем линейных уравнений?

Раздел 8.1. – 1.

Раздел 8.2. – 1, 2, 3.

Лабораторная работа № 4 «Использование групповых операций в Excel» (форма обучения – очная, заочная) – интерактивная форма «Мозговой штурм».

1. Создать и заполнить не менее чем 10 записями таблицу:

2. Произвести сортировку списка в последовательности «день – группа – Фамилия Имя».

3. В общем списке:

– добавить заголовок «Район» и данные (по номеру телефона):

– добавить новый элемент сортировки в следующем порядке:

Строгино, Химки, Выхино, Крылатское, Таганская,

– отсортировать список по созданному элементу.

4. С помощью автофильтра:

– показать фамилии, начинающиеся на «К» и содержащие «р»;

– учащихся 599 школы;

– учащихся 1-ой группы;

– учащихся 2-ой и 3-ей групп по понедельникам и вторникам.

5. С помощью расширенного фильтра показать количество учащихся по условиям 1–6:

№ условия Фамилия Имя Школа Класс Телефон День Группа
П* В* С*
сб
пн вт ср
сб пн вт

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

7. Создать сводные таблицы:

– количество учащихся по классам из школ;

– количество учащихся по дням из групп;

– количество учащихся по дням из классов.

Задания для самостоятельной работы

1. Оформить таблицу из лабораторной работы № 2: добавить – заголовок: «Расходная смета фирмы HOUSE», рамку, выделить заголовки столбцов другим форматом.

2. Отсортировать данные «Расходы» по алфавиту, показать промежуточные итоги (суммы) по видам расходов.

3. Построить на отдельном листе диаграмму для пункта 3 «Расходы – сумма» (данные в строках), переименовать лист с диаграммой в «Расходы – сумма».

4. Отсортировать данные по «получатель», показать количество расходов по каждому получателю.

5. Убрать итоги, с помощью автофильтра показать данные для получателя АО Престиж.

6. С помощью автофильтра показать данные за январь, построить диаграмму «Дата – сумма» и переименовать ее.

7. Убрать автофильтр, отсортировать данные по дате, пронумеровать строки таблицы автозаполнением, вставив столбец перед столбцом А, добавить рамку в столбце А.

Для подготовки к лабораторной работе и выполнению самостоятельной работы необходимо освоить следующие разделы темы 3.4: создание списков в Excel с использованием сортировки, промежуточных итогов, фильтрации, автозаполнения; Групповые операции при работе со списками в Excel (создание новых элементов сортировки, работа с расширенным фильтром, работа со сводными таблицами).

Контрольные вопросы для самопроверки

1. Каким образом используются встроенные списки автозаполнения?

2. Что такое автозаполнение блока ячеек?

3. Как подготовить список для автозаполнения?

4. В чем состоит отличие работы с автофильтром и расширенным фильтром?

5. Как выполняется многоуровневая сортировка списков?

6. В чем состоят особенности формирования списков?

7. Как производится операция расчета промежуточных итогов?

Раздел 8.1. – 1.

Раздел 8.2. – 1, 2, 3.

Лабораторная работа № 5 «Создание макрокоманд в Excel» (форма обучения – очная) – интерактивная форма «Мозговой штурм».

1. Записать макросы для создания таблиц с относительными ссылками и вызовом сочетанием клавиш CTRL+Т и CTRL+Р.

Расписание занятий группы на 1 семестр
пн к–т вт к–т ср к–т чт к–т пт к–т

Задания для самостоятельной работы

1. Записать макрос – шаблон резюме.

2. Создать макрос, который форматирует любой выделенный интервал.

3. Создать макрос, который вводит текст и форматирует его всегда в одни и те же ячейки.

Для подготовки к лабораторной работе и выполнению самостоятельной работы необходимо освоить следующие разделы темы 3.4: способы создания и запуска макрокоманд в Excel для автоматизации вычислительных операций.

Контрольные вопросы для самопроверки

1. Сформулируйте цель создания макросов в Excel.

2. Опишите порядок автоматической записи макроса.

3. В чем состоит различие записи макроса с относительными и абсолютными ссылками.

4. Как закрепить за выполнением макроса сочетание клавиш?

5. Как закрепить за выполнением макроса кнопку на панели инструментов?

Раздел 8.1. – 1.

Из этой лекции вы узнаете следующее:

  • для чего нужны макросы;
  • как создать и использовать макрос;
  • как экспортировать и импортировать макросы;
  • как обеспечить безопасность при работе с макросами.

9.1. Что такое макросы и зачем они нужны

У каждого опытного пользователя интерфейс Microsoft Word уникальный и изменяется в зависимости от того, какие инструменты ему необходимы в работе. Вы вряд ли увидите одинаковые панели инструментов или пункты главного меню - чтобы сделать работу наиболее удобной, каждый пользователь стремится настроить программу по-своему. Однако иногда изменения только интерфейса (вынесение основных команд на панель инструментов и создание пользовательских меню ) недостаточно.

Если работа однообразная, то пользователю приходится часто повторять те или иные команды в определенной последовательности (например, оформлять текст курсивом, кеглем 10, гарнитурой Arial). Чтобы произвести такое небольшое форматирование , может понадобиться достаточно большое количество времени, особенно если таким образом необходимо выделить несколько десятков слов. Получается, что для каждого участка нужно проделывать несколько операций. Конечно, можно отформатировать только один участок и создать пользовательский стиль, но и это не самый быстрый способ применения оформления.

Если вам часто приходится выполнять одни и те же действия, то эффективность вашей работы можно заметно увеличить при помощи макросов. Макросы - это небольшие программы на языке Visual Basic . Они могут помочь не только в ситуациях, когда требуется много раз выполнить сложное форматирование , но и при вставке объектов, печати выделенного текста и в других случаях.

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

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

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

9.2. Создание макросов

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

Назначение макроса кнопке

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


Назначение макроса клавишам

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


Запись макроса

Когда подготовительная работа будет завершена, переходите к записи макроса. После того как вы закроете окна назначения макроса панели инструментов или клавишам, указатель мыши примет форму. Теперь можно выполнять необходимые действия.

Упражнение 9.1. Запись макроса

Создадим макрос, с помощью которого можно щелчком мышью применить к выделенному участку текста гарнитуру Arial, полужирное начертание и размер шрифта 10.

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


Теперь можно проверить его действие. Откройте любой документ, выделите требуемый участок и вызовите макрос с помощью кнопки на панели быстрого запуска или сочетания клавиш. Вы увидите, что форматировать текст, используя макрос, гораздо удобнее, чем каким-либо другим способом.

Палитра Actions (Операции) используется для записи, выполнения и редактирования последовательности действий по обработке изображений (такуюпоследовательность действий, получающую название и запускающуюся одной командой, принято называть МАКРОКОМАНДОЙ).Для того чтобы вывести палитру на экран, необходимо выполнить командуActions (Операции) меню Window (Окно).

Палитра Actions (Операции) содержит набор команд в виде строк,которые раскрываются, если щелкнуть на треугольной стрелке, показывающей вправо. Каждая команда открывает список параметров команды, еслитаковые имеются.


В левой колонке расположены поля, которые служат для включения иливыключения отдельных команд, а рядом с ними поля для включения и отключения вывода диалоговых окон соответствующих команд.


В нижней части палитры расположены следующие кнопки:
Stop Playing/Recording (Остановка выполнения/записи);
Record (Запись);
Play (Воспроизведение);
New Set (Новый набор);
New Action (Новая операция);
Trash (Корзина).



Однако палитра может иметь и другой вид - в форме командных кнопок.Чтобы представить палитру в таком виде, необходимо открыть список команд палитры и выбрать пункт Button Mode (Представить в виде кнопок).Для возврата в списочный режим палитры следует выполнить ту же командуповторно.


ИЗМЕНЕНИЕ ПОРЯДКА КОМАНД В МАКРОКОМАНДЕ


Пользователь имеет возможность видоизменить последовательность выполнения команд. Кроме того, команды одной макросы можно переместить в другие.


Для того чтобы изменить порядок команд, необходимо в списке палитрызахватить команду и переместить ее в новое положение. Жирная линия отображает положение строки команды во время перемещения.


СОЗДАНИЕ И ЗАПИСЬ МАКРОКОМАНД


Создание макрокоманды - на сленге дизайнеров и разработчиков графики - "экшена"(action) заключается в том, что во время выполнения той или иной последовательности команд программа Adobe Photoshop записывает их в том же порядке, включая и те параметры, которые применялись каждой конкретной командой. Таким образом, можно записать любую последовательность команд и в дальнейшем использовать ее, сокращая время и, главное, усилия на выполнение рутинных операций.



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


В макропрограмме могут использоваться действия инструментов Gradient(Градиент), Marquee (Область), Crop, Polygon LassoLine (Линия), Move, Magic Wand (Волшебная палочка), PaintBucket (Заливка) и Type, а также установки палитр Paths(Контуры), Channels (Каналы), Layers (Слои) и History (История).


Однако существуют и ограничения: некоторые команды и функции могутвключаться в макросы только с помощью процедуры записи выполняемых действий. Для включения в операцию команд, которые не могут быть определены во время записи, следует использовать команду Insert Menu Item (Вставить пункт меню).


Любопытно, что в макрокоманду могут быть помещены команда Play(Вопроизведение) из меню палитры и команда Batch (Пакетная обработка)меню File/Automate (Файл/Автоматизация).


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


Скажем, использование фильтра Gaussian Blur (Размытие по Гауссу) со значением 3 пиксела к документу с разрешением для экрана (72 dpi) - это совсем не то, что применение его к изображению с высоким разрешением (300 dpi). Поэтому макросы, создаваемые таким образом, в значительной степени могут иметь сугубо ситуативный характер. Но и это может сэкономить много времени, особенно если речь идет о большом объеме однотипной обработки изображений.


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


Следует также иметь в виду, что при использовании в качестве элементовмакросы команд Save As (Сохранить как) или Save a Copy (Сохранить копию) в диалоговых окнах этих команд не нужно вводить конкретные имена файлов.


ПОЕХАЛИ!


Итак, для того чтобы создать макрокоманду методом записи, необходимо открыть редактируемый документ, вывести на экран палитру Actions (Операции), выбрать в ней набор макрокоманд и выполнить одно из двух действий:- нажать на кнопку New Action (Новая операция);- использовать команду New Action (Новая операция) меню палитры.


В обоих случаях на экран будет выведено диалоговое окно New Action (Новая операция), в котором можно присвоить имя макрокоманде (поле Name (Имя)), определить набор макрокоманд (раскрывающийся список Set (Набор)) и комбинацию клавиш для ее запуска (поле Function Key (Функциональная клавиша)), а также выбрать один из семи цветов для отображения имени макросы в палитре (список Color (Цвет)).



Затем нажать на кнопку Record (Запись), после чего точка на кнопке записив палитре Actions (Операции) станет красного цвета.


Теперь можно начинать выполнение команд, которые необходимо сохранить в макрокоманде. Если команда имеет диалоговое окно, то после установки нужных значений следует нажать на кнопку ОК. Если предполагается делать изменения настроек в процессе выполнения макросы, то можно оставить значения по умолчанию, но и в этом случае нажатие на кнопку ОК обязательно. При выходе из диалогового окна после нажатия на кнопку Cancel (Отменить) данная команда не записывается в макрокоманду.Остановка записи происходит при нажатии на кнопку Stop (Остановка) в нижней части палитры Actions (Операции).


ВСТАВКА ПУНКТОВ МЕНЮ


Многие команды, которые не записываются во время исполнения (например, параметры рисующих инструментов, команды просмотра и некоторые другие), можно включить в список макросы с помощью команды Insert Menu Item (Вставить пункт меню) меню палитры.


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


Для того чтобы вставить пункт меню в макрокоманду, необходимо определить место вставки в существующей макрокоманде: выделить имя макроса в списке палитры, выполнить команду Insert Menu Item (Вставить пункт меню), которая выведет на экран одноименное диалоговое окно, а затем открыть и выделить команду, ПОСЛЕ КОТОРОЙ будет осуществлена вставка новой команды.


После нажатия на кнопку ОК в списке макросов появляется новая команда.


ВСТАВКА ОСТАНОВОК


Во время выполнения макроса достаточно часто возникает необходимость прервать действие на какое-то время для того, чтобы осуществить действие, которое невозможно записать, например выделить фрагмент изображения или сделать штрих одним из рисующих инструментов.Продолжение работы макроса осуществляется нажатием на кнопку Play (Воспроизведение) в нижней части палитры.Чтобы не забыть о назначении паузы (остановки), рекомендуется сохранить для себя и потомков... короткое FAQ в поле Message (FAQ).


Для вставки остановки в список макросов необходимо выполнить одно из двух приведенных ниже действий:
определить место вставки остановки в существующей макрокоманде: выделить имя макроса в списке палитры, открыть и выделить команду, после которой будет вставка остановки;
выполнить команду Insert Stop (Вставить остановку) меню палитры, которая выводит на экран диалоговое окно Record Stop (Записать остановку), параметры этой команды также отображаются в палитре Actions (Операции).


В поле Message (FAQ) можно ввести произвольный текст, который будет выводиться при остановке макроса. При включении флажка Allow Continue (Разрешить продолжение) в диалоговом окнесообщении выводится кнопка Continue (Продолжить).


ВЫПОЛНЕНИЕ МАКРОКОМАНД


Выполнять последовательность действий макросов можно с любой команды и в произвольном сочетании (хотя и в одной последовательности).


Кроме того, есть возможность выполнить только одну отдельную команду.При необходимости любую команду можно исключить из выполнения.Для исключения команды из выполнения необходимо щелкнуть на левой колонке, рядом с названием команды, удаление "галочки" означает исключение команды. Повторный щелчок возвращает команде "исполняемость".


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


ПРИМЕНЕНИЕ МАКРОКОМАНДЫ К ОТДЕЛЬНОМУ ДОКУМЕНТУ


Последовательность действий для применения макросов к отдельному документу (в противоположность пакетной обработке) может быть следующей:
Открыть необходимый документ.
Для того чтобы выполнить макрокоманду полностью, требуется выделить имя макроса, а если надо выполнить макрокоманду не с начала, следует открыть и выделить команду, с которой следует начинать выполнение.
Чтобы запустить выполнение макроса, можно воспользоваться кнопкой Play (Воспроизведение) в нижней части палитры или командой Play (Воспроизведение) меню палитры.


Двойной щелчок на имени макроса в палитре выводит на экран диалоговое окно Actions Options (Параметры операции), которое идентично диалоговому окну New Action (Новая операция). Если же двойной щелчок выполнить при нажатой клавише, макрокоманда начинает выполнение от начала и до конца.


Следует иметь в виду, что поскольку макрокоманда - это последовательность команд (хотя минимально она может состоять из одной команды), выполнить отмену действия всей макрокоманды с использованием команды undo (отменить) нельзя. Команда undo (отменить) позволяет вернуться только на один шаг назад. ...увы, но это так..


Вместе с тем отменить действие макроса можно, если использовать возможности палитры History (История): выполнить "снимок" изображения до выполнения макроса и затем "вернуться" к нему.


СКОРОСТЬ ВЫПОЛНЕНИЯ ЭКШЕНА


Сложный экшен зачастую требует отладки, но в некоторых случаях не так легко определить место сбоя ввиду слишком быстрого выполнения конкретных команд. Если требуется этап отладки, то можно воспользоваться командой Playback Options (Режим выполнения) меню палитры. На экран выводится одноименное диалоговое окно, в котором можноопределить скорость выполнения макросы.


Оно содержит ряд параметров:
Переключатель Accelerated (Быстрое), включенный по умолчанию, обеспечивает нормальную скорость, которая вполне приемлема для правильно работающей макропрограммы.
Переключатель Step by Step (Пошаговое) обеспечивает выполнение макроса по шагам с прорисовкой изображения после каждой отдельной команды. Такой режим требует от пользователя достаточно напряженного внимания, чтобы успеть зафиксировать неверные действия.
Переключатель Pause For ... seconds (С остановками на... секунд) позволяет самому пользователю определить степень своего внимания и ввести время задержки в секундах между выполнением команд.
Флажок Pause For Audio Annotation (Пауза для звуковых комментариев)позволяет создать паузу для прослушивания звукового комментария.


РЕДАКТИРОВАНИЕ МАКРОКОМАНД


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


Непосредственно на панели Actions (Операции) можно перенести любую макрокоманду в другой набор. Для этого необходимо захватить строку макроса и перетащить ее в нужный набор.Таким же образом можно изменить порядок команд в макрокоманде.


Для записи дополнительной команды надо выделить команду, после которой необходима вставка, а затем, нажав на кнопку Record (Запись) в нижней части палитры, выполнить нужную команду или последовательность команд. Щелчок на кнопке Stop (Остановка) прекратит запись.


Предусмотренная в палитре Actions (Операции) возможность повторения команд и макрокоманд очень полезна для редактирования самих макрокоманд и создания на их базе новых макрокоманд.


Повторение команды или макроса можно осуществить одним из следующих способов:
при нажатой кнопке можно захватить и перетащить нужную команду или макрокоманду в новое положение в списке палитры;
можно выделить команду или макрокоманду и выполнить команду Duplicate (Повторить) меню палитры;
можно перетащить имя команды или макроса на кнопку New Action (Новая операция) в нижней части палитры. Для выделения нескольких команд необходимо использовать клавиши или.


Для изменения параметров команды достаточно дважды щелкнуть на строке команды и вызвать соответствующее диалоговое окно.


В любой момент можно удалить макрокоманду целиком или произвольную отдельную команду, входящую в макрокоманду.Для этого в списке макрокоманд следует выделить нужную (точнее, ненужную) макрокоманду или команду и щелкнуть на кнопке Trash (Корзина)в нижней части палитры или выполнить команду Delete (Удалить) меню палитры. Как то, так и другое действие выведет на экран окно-запрос на удаление, и после некоторого раздумья можно будет нажать на кнопку ОК.


Команду или макрокоманду без запроса можно удалить щелчком на кнопке Trash (Корзина) при нажатой клавише.


После БОЛЕЕ ДОЛГОГО РАЗДУМЬЯ можно решиться на удаление всех макрокоманд. Для этого необходимо выполнить команду Clear Actions (Очистить палитру) меню палитры и подтвердить свое решение.Если все операции, созданные пользователем, становятся излишними, от них можно избавиться с помощью команды Reset Actions (Восстановить операции) меню палитры. Щелчок на кнопке Append (Добавить) в открывшемся диалоговом окне добавит в панель набор макрокоманд,поставляемых вместе с программой.



Поскольку нельзя бесконечно добавлять новые макросы, в программе предусмотрена возможность создания наборов (set) макрокоманд и сохранения их на диске в специальном файле с расширением.atn.


Это позволяет более рационально организовывать работу над различными проектами или разными типами изображений, а также передавать другим пользователям для обеспечения идентичной обработки изображений. Сохранять можно только наборы макрокоманд целиком, отдельные макросы или команды сохранять нельзя (если только они не составляют набор), новые макросы автоматически сохраняются в файле Actions Palette.psp (в папке WindowsApplication DataAdobePhotoshopCS2Adobe Photoshop Settings). При удалении этого файла (с целью восстановления исходных установок программы) будет удален и набор макрокоманд, поэтому вполне разумно заранее сохранить макросы в независимом файле.


Для того чтобы создать новый набор макрокоманд, необходимо выполнить команду New Set (Новый набор) меню палитры или нажать на кнопку Create New Set (Создать новый набор), расположенную в нижней части панели Actions (Операции). В обоих случаях на экран выводится диалоговое окно, в котором требуется ввести имя набора или принять предлагаемое программой.



Имя набора можно в любой момент изменить, вызвав это же диалоговое окно командой Set Options (Задать параметры).Для сохранения набора макрокоманд достаточно выделить необходимый набор и выполнить команду Save Actions (Сохранить операции) меню палитры. На экран будет выведено диалоговое окно Save (Сохранить), в котором можно присвоить имя набору макрокоманд (или оставить текущее) и определить папку для хранения.


Для замены текущего набора макрокоманд на ранее сохраненный необходимо выполнить команду Replace Actions (Заменить операции) меню палитры.Для загрузки нового набора макрокоманд, который добавится в конец списка текущих макрокоманд, надо выполнить команду Load Actions (Загрузить операции) меню палитры.В обоих случаях на экран выводится диалоговое окно Load (Загрузить), в котором можно выбрать файл с расширением.atn.
На заметку..


Самый ходовой способ добавления "экшенов" в фотошоп начиная с версии 7 и выше в среде дизайнеров очень прост, из какого либо окна Windows ПЕРЕТАСКИВАЕТСЯ файл с расширением.ATN в окно Фотошопа, на пустое место. Он сразу "готов к употреблению". Быстро и удобно.

Макросом называют набор из одной или более команд, выполняющих определенные, часто используемые операции, например, открытие форм или печать отчетов. Макросы могут быть полезны для автоматизации часто выполняемых действий. Если записать эти действия в виде макроса, то они будут выполняться автоматически при запуске макроса. Например, при нажатии пользователем кнопки можно запустить макрос, который распечатает отчет или выведет на экран форму. Макрокоманда – основной компонент макроса, инструкция, которая самостоятельно или в комбинации с другими макрокомандами определяет выполняемые в макросе действия (иногда макрокоманды называют просто командами макроса). Серия макрокоманд, из которых состоит макрос, выполняется каждый раз при его запуске.

Для создания макроса в окне базы данных нужно выбрать вкладку Макросы и нажать на кнопку Создать . Появится окно конструктора макросов (рис. 3.37). Оно состоит из двух столбцов: Макрокоманда и Примечание. В столбце Макрокоманда перечисляются команды, подлежащие выполнению. Чтобы в ячейке столбца Макрокоманда задать нужную макрокоманду, ее следует выбрать из списка. Столбец Примечание , содержит комментарии к командам. При выполнении макроса он игнорируется, однако его заполнение делает текст макроса понятнее.

Рис. 3.37. Вид окна макроса.

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

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

Для этого следует расположить окно базы данных и окно макроса рядом на экране с помощью команды Сверху вниз или Слева направо из меню Окно . Затем выбрать в окне базы данных соответствующую вкладку, выбрать объект и переместить его значок с помощью мыши в ячейку макрокоманды. Например, для того чтобы создать макрос, открывающий форму, следует переместить с помощью мыши значок формы из окна базы данных в ячейку макрокоманды. При переносе значка макроса в ячейку макрокоманды вводится макрокоманда, запускающая этот макрос, а при переносе значков других объектов (таблиц, запросов, форм, отчетов или модулей) в макрос добавляется макрокоманда, открывающая этот объект.

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

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