Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






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



МАКРОСЫ.

 

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

 

Имя Назначение
AutoExec Выполняется при запуске Word
AutoNew Выполняется при создании нового файла
AutoOpen Выполняется при открытии файла
AutoClose Выполняется при закрытии файла
AutoExit Выполняется при выходе из Word

 

 

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

End With

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 "Здравствуй, дружок!"

'

End Sub

 

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

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

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

 


ПРИМЕРЫ.

 


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!