Настройка оборудования и программного обеспечения

Способы выполнения макрокоманд. Создание макроса пользовательского интерфейса

МАКРОСЫ.

Большинство пользователей создавая и используя документы 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 с помощью макрорекордера, затем исправляют и/или дописывают макрос.


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

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

Изменение параметров макрокоманд

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

Создание и запись макрокоманд

Создание макрокоманды (action ) заключается в том, что во время выполнения той или иной последовательности команд программа Adobe Illustrator записывает их в том же порядке, включая и те параметры, которые использовались каждой конкретной командой.

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

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

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

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

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

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

Рис. П1.3 . Пример записи нескольких действий в макрокоманду


Рис. П1.4 . Диалоговое окно New Action

Итак, для того чтобы создать макрокоманду методом записи (recording ), необходимо открыть редактируемый документ, вывести на экран палитру Actions (Операции), выбрать в ней набор макрокоманд и выполнить одно из двух действий:

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

Затем следует нажать кнопку Begin Record (Запись), после чего точка на этой кнопке станет красного цвета.

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

Остановка записи Происходит при нажатий на кнопку Stop Playing/Recording (Остановка выполнения/записи) в нижней части палитры Actions (Операции) (первая слева).

Созданный макрос следует выполнить. Существует несколько способов запуска макросов:

1. Посредством команды Макросы→ Макрос →Сервис

2. С помощью комбинации клавиш, назначенных макросу;

3. Посредством команды меню, назначенной для данного макроса;

4. Посредством кнопки, назначенной данному макросу на панели инструментов.

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

Рассмотрим более подробно каждый из указанных способов запуска макросов.

1. Команда Макросы→Макрос →Сервис – стандартный вариант вызова макроса на выполнение. В диалоговом окне Макрос выбрать созданный макрос и нажать кнопку [Выполнить]. Данный способ пригоден также для редактирования и удаления макрокоманды – кнопки [Правка], [Удалить].

2. С помощью комбинации клавиш (рис. 2):

Рис. 2. Диалоговое окно. Настройка клавиатуры для назначения макросу

сочетания клавиш в Microsoft Word.

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

Затем нажимается кнопка [Назначить], которая производит назначение.

3. Вызов командой в меню – осуществляется стандартная настройка меню: добавление пункта меню, связанного с вызовом макрокоманды:

В появившемся диалоговом окне Настройка , на вкладке Команды из поля со списком Категории выбирается команда Макросы , а затем имя макроса;

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

4. Посредством кнопки, назначенной данному макросу на панели инструментов (рис. 3):

В Word при нажатии кнопки [Панели] (см. рис. 1) в диалоговом окне Запись макроса появляется диалоговое окно Настройка , в котором на вкладке Команды из поля со списком Категории выбирается Макросы , а затем имя макроса;

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

щелкнув по кнопке [Изменить выделенный объект], можно выбрать понравившийся значок для кнопки, запустив командуü Выбрать значок для кнопки (рис. 4). Можно также редактировать значок с помощью команды Изменить значок для кнопки (окно Редактор кнопок ) (рис. 5).

Рис. 3. Диалоговое окно Настройка для назначения макросу
кнопки на панели инструментов в Microsoft Word.

Рис. 4. Диалоговое окно выбора значка для кнопки

Рис. 5. Диалоговое окно Редактор кнопок

В Excel дополнительно имеется возможность запуска макроса посредством назначенного ему графического образа.

После выбора способа вызова появляется небольшая панель инструментов Остановить запись , содержащая кнопку:

- [Остановить запись] – завершает запись макрокоманды;

[Пауза] – приостанавливает запись макрокоманды (рис. 6).

Рис.6. Панель записи макроса в Microsoft Word

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

Макросы сохраняются в шаблоне в виде текстов программ. Каждый шаблон может содержать произвольное количество макросов. Поскольку dot-файлы (dot – расширение файлов шаблонов) нельзя читать как документы, в Word существуют специальные средства, позволяющие просмотреть и отредактировать макрос как последовательность операторов на языке VBA (рис.7). В процессе редактирования любой макрос представлен в виде последовательности операторов языка VBA. Суть редактирования макроса состоит в удалении, добавлении и замене операторов, как при программировании на любом другом языке.

Рис.7. Диалоговое окно редактора VBA

Редактирование макроса выполняется посредствам команды Макросы . В диалоговом окне Макрос , в поле Имя выбирается имя макроса, подлежащего редактированию. Процесс начинается при нажатии кнопки [Отладка]. Можно указать имя несуществующего макроса. Если после этого нажать кнопку [Создать], будет создан новый макрос, а пользователь получит возможность получит возможность записать его на языке VBA.

Кнопка [Отладка] служит для открытия окна редактирования макроса, в котором отображается содержимое макроса на языке VBA. Окно редактирования макроса подобно обычному окну документа, но отличается отсутствием координатной линейки и наличием специальной панели инструментов. Можно открыть несколько окон обработки макросов. Текст макроса редактируется так же, как обычный текст программы VBA. При этом доступно большинство команд редактирования текста, например команды Копировать и Вырезать .

С помощью кнопки [Удалить] указанный макрос удаляется.

Чтобы закрыть окно редактирования макроса, можно использовать системное меню окна редактирования или команду Закрыть в меню Файл . Специфические команды, предназначенные для редактирования и отладки макроса, выполняются путем нажатия кнопок в строке удаления.

Список литературы:

1. Мусин К.А «Техническое приложение к Microsoft Word»

2. Бородина А.И «Макропрограммирование»

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

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

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

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

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

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

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

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

Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!