Офисное программирование. Макрорекордер.
Rambler's Top100

 

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

Цели занятия:

1) Освоение применения макрорекордера для создания простейших программ

2) Изучение структуры проекта

3) Знакомство с рабочей средой VBA

1 Макрорекордер.

1.1 По умолчанию приложения MS Office настроены так, что не позволяют запускать макросы. Это сделано из-за соображений безопасности, так как в свое время были очень распространены так называемые макро-вирусы. Поэтому, перед тем как приступить к работе с макросами, необходимо изменить уровень безопасности на среднюю в меню Сервис – Макрос – Безопасность (для MS Office версии до 2003) и Файл – Параметры – Центр управления безопасностью (для более современных версий). При работе в версиях офисного пакета, начиная с Офиса-2007, нужно также открыть доступ к средствам разработчика, установив отметку Файл – Параметры –показывать вкладку «Разработчик» на ленте. Это требуется сделать только один раз в начале работы. Обратите внимание, что команды управления макросами дублируются на вкладках Разработчик и Вид.

1.2 Макрорекордер – средство для записи макросов – последовательностей команд приложений MS Office . Такие последовательности являются законченными программами на VBA . Запись макросов применяется не только для автоматизации определенных операций, но и для изучения объектов приложений MSO, которые могут использоваться для выполнения тех или иных действий.

1.3 Принцип работы макрорекордера похож на принцип работы магнитофона: после нажатия кнопки «Начать запись» записываются все выполняемые действия, пока не будут нажата кнопка «Остановить запись». Однажды сделанная запись может проигрываться (повторяться) сколько угодно раз в любой нужный момент.

1.4 Запись макроса вызывается командой Сервис – Макрос – Начать запись (для MS Office версии до 2003) и командой Вид –Макросы – Начать запись (для современных версий).

1.5 После вызова команды необходимо:

· задать имя макроса . Оно должно начинаться с буквы, не содержать пробелов и знаков препинания, может включать символы кириллицы;

· назначить макрос кнопке на панели управления или комбинации клавиш.

· указать, где будет храниться макрос. В Word макрос может храниться либо в текущем документе, либо в шаблоне для всех вновь создаваемых документов Normal.dot

· дать описание макросу

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

На рисунке 1 показан диалог, в котором задается имя, место хранение и описание макроса.

Диалог создания макроса

Рисунок 1 Диалог Запись макроса

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

Диалог назначения клавиш макросу

Рисунок 2 Диалог назначения клавиатурных комбинаций макросу

1.6 Запись макроса начинается после нажатия клавиши Ok в окне «Начать запись» и продолжается, пока не будет выполнена команда Сервис - Макрос - Остановить запись(2003\ХР), Вид – Макросы –Остановить запись (7 \ 10) или нажата кнопка «Остановить запись» (рис.3).

Панель

Рисунок 3 Панель"Запись макроса" в момент записи. На панели расположены кнопки Остановить запись и Пауза

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

2 Задание 1.

Задание 2.1 В конспект занести последовательность операций, которые будут выполняться макросом (из п.2.4).

2.2 Открыть новый документ Word , проверить установленный уровень безопасности и, при необходимости, установить средний уровень безопасности.

2.3 Ввести номер и название темы, фамилию слушателя. Ввести текст «Создание и использование макросов». Включить запись макроса, присвоить ему имя Тест1, дать описание – «тест для демонстрации работы макрорекордера, ФИО слушателя», назначить для хранения новый документ, назначить макросу комбинацию клавиш Ctrl - Alt -1.

2.4 Записать макрос, содержащий последовательность команд:
- переход в конец текста клавишами “ Ctrl – End ”;
- троекратное нажатие клавиши “ Enter ”;
- ввод текста «Привет, Basic !»;
- выделении введенного текста клавишами“ Shift – Home ”;
- задание размера текста 20 выделенному фрагменту (выбором из списка «Размер»;
- средствами диалога Главная – Шрифт – Цвет (Формат – Шрифт – Цвет в 2003 \ ХР) применить цвет красный к выделенному фрагменту;
- переход в конец текста клавишами “ Ctrl – End ”.

2.5 Закончить запись макроса.

2.6 Выполнить записанный макрос с помощью назначенного сочетания клавиш.

2.7 Выполнить команды: Вид – Макросы (Сервис – Макрос – Макросы в 2003\ХР) выбрать из списка вновь созданный макрос, кнопкой Изменить открыть редактор Visual Basic и проанализировать текст макроса.

3 Анализ текста макроса и его изменение

3.1 Текст полученного макроса может иметь примерно следующий вид (курсивом выделены пояснения к тексту макроса):

'Заголовок макроса

Sub Teст1()
' Тест1 Макрос
' Макрос записан 16.09.2011 Alural Тест макрорекордера

' В следующей строке: объект Selection представляет выделенный фраг­мент текста,
' а при отсутствии выделения – положение указателя в тексте

' Перемещение в конец выделенного текста
Selection.EndKey Unit:=wdStory
' Ввод трех символов абзаца
Selection.TypeParagraph
Selection.TypeParagraph
Selection.TypeParagraph
' Ввод текста
Selection.TypeText Text:=" Привет , Basic!"
' Выделение строки текста
Selection.HomeKey Unit:=wdLine,Extend:=wdExtend
' Изменение размера выделенного текста
Selection.Font.Size = 20
' Параметры шрифта, устанавливаемые в диалоге «Шрифт»
' В каждой строке после оператора With устанавливается один из
' параметров шрифта .
With Selection.Font .Name = "Times New Roman" .Size = 20 .Bold = False .Italic = False .Underline = wdUnderlineNone .UnderlineColor = wdColorAutomatic .StrikeThrough = False .DoubleStrikeThrough = False .Outline = False .Emboss = False .Shadow = False .Hidden = False .SmallCaps = False .AllCaps = False .Color = wdColorRed .Engrave = False .Superscript = False .Subscript = False .Spacing = 0 .Scaling = 100 .Position = 0 .Kerning = 0 .Animation = wdAnimationNone End With

' перемещение в конец выделенного текста

Selection.EndKey Unit:=wdStory
' конец макроса
End Sub

3.2 ЗаданиеЗадание 2. Перейдите в документ Word , выполните созданный макрос с помощью горячих клавиш и с помощью команд меню: Вид – Макросы (Сервис – Макрос – Макросы) –{выбор макроса} – Выполнить.

3.3 ЗаданиеЗадание 3. Перейдите в редактор VBA, создайте в окне Code копию текста макроса (действуют стандартные приемы копирования \ вставки). В новом макросе:
- измените имя макроса на Тест2 ;
- измените выводимый текст на текст «Привет,Фамилия_Слушателя»;
- выводимый текст должен выделяться зеленым цветом;
- новый макрос должен добавлять текст в начало документа.

3.4 Выполните новый макрос, используя команду меню VBA Run Run Sub \ UserForm или кнопку ► Run Sub \ UserForm на панели инструментов.

3.5 Сохраните полученный документ.

4 Структура проекта и элементы интегрированной среды разработки

4.1 Программа на VBA существует и функционирует только вместе с документом. Документ с программой образуют проект (Project). Все открытые в данный момент проекты можно увидеть в окне Project Explorer редактора (рис.4).

Окна IDE

Рисунок 4. Интегрированная среда разработки. 1 - обозреватель проектов (Project Explorer); 2 - окно свойств (Property Windows); 3 - окна кода (Code)

4.2 В каждом проекте один модуль создается автоматически. В Word это модуль называется ThisDocument. Другие модули могут создаваться программистом.

4.3 Модуль, в свою очередь, инкапсулирует процедуры, созданные с помощью макрорекордера или написанные программистом.

4.4 Управление проектами, подготовка кода процедур, анализ хода выполнения процедур производятся в интегрированной среде разработки (IDE). IDE включает в себя редактор VBA и восемь окон, позволяющих управлять проектами и объектами, получать справочную и отладочную информацию. Для перехода из документа MSO в IDE можно использовать:
- команду Разработчик – Visual Basic (Сервис – Макрос – Редактор VBA) ;
- «горячие» клавиши <Alt-F11>;
- кнопку Кнопка VBA «редактор VBA» (если она выведена на панель инструментов);
- активизацию окна Microsoft Visual Basic (если редактор VBA уже был открыт).
Возвратиться из IDE в приложение MSO можно:
- активизировав окно приложения;
- использовав «горячие» клавиши <Alt-F11>;
- выбрав в меню редактора View пункт Microsoft Word / Excel / и т.д, в зависимости от приложения или кнопку на панели инструментов View Microsoft Word / Excel

4.5 Активизировать рабочие окна IDE можно различными способами, проще всего использовать пункты меню View .

4.6 ЗаданиеЗадание 4 . Изучите следующие окна IDE :
- окно обозревателя проектов ( Project Explorer );
- окно свойств ( Property Windows);
- окна кода ( Code )

4.6.1 Активируйте указанные окна, используя команды меню View .
Замечание. Какая область кода будет активна, зависит от того, какой модуль и в каком проекте выделен в окне Project Explorer.

4.6.2 Разместите активные окна в окне редактора, так, чтобы были видны окна обозревателя и свойств, и был бы максимально виден текст второго макроса.
Замечание. Если окно не удается переместить, вызовите контекстное меню окна (правой кнопкой мыши) и снимите отметку Dockable («закреплять»).

4.6.3 Сделайте копию экрана, включите рисунок в свой документ и сделайте экспликацию, включив в нее описания элементов интерфейса редактора VBA и видимых окон IDE.

4.6.4 Найдите в справочной системе VBA описания окна обозревателя проектов и окна кода. Включите в свой документ вольный перевод этих описаний.

5 Контрольные вопросы

 5.1 Как следует изменить настройки безопасности приложения MSO, если в приложении необходимо использовать макросы?

5.2 В чем различается сохранение макросов в документе и в шаблоне Normal.dot.?

5.3 Какими способами может быть выполнен макрос?

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

5.5 Как выполнить программу на VBA, не открывая документ MSO?

5.6 Какой элемент IDE позволяет выбрать один из нескольких открытых проектов?

5.7 Какие специальные элементы управления есть в области кода, для чего они используются? 



Написать автору
Помочь автору. Кошельки WM
R205462629094
Z323980174931
Z119438884119
Яндекс - деньги
41001136494110

Rambler's Top100 Рейтинг@Mail.ru Бард Топ