Налаштування обладнання та програмного забезпечення

Способи виконання макрокоманд. Створення макросу інтерфейсу користувача

МАКРОСИ.

Більшість користувачів створюючи та використовуючи документи 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, він автоматично зберігається разом з ним.

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

§ вкладка РОЗРОБНИК/МАКРОСИ, вибираємо потрібний і ВИКОНАТИ.



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

§ або кнопка 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(Скасувати) дана командане записується у макрокоманду.

Зупинка запису Відбувається, натиснувши кнопку 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і ми все виправимо!