ТОП 10:

Автоматизація роботи з документами Microsoft Office за допомогою VBA



Дві області, які багато користувачів, на жаль, залишають без уваги, - це запис макросів і програмування в середовищі VBA (Visual Basic for Applications - Visual Basic для додатків). У недалекому минулому макроси мали настільки погану репутацію, що багато хто не бажали навіть зв'язуватися з ними. Однак зараз макроси дуже просто записувати й виконувати. Застосувавши мінімум зусиль, ви зможете уникнути виконання дій, які можуть привести до втрати даних або, скажемо, до ушкодження операційної системи (саме цього найбільше побоюються починаючі користувачі). Але той, хто не наважиться працювати з макросами й програмами VBA, позбавить себе можливості «змінити життя до кращого» за рахунок використання форм ( діалогових вікон, щонабудовують,), які призначені для подання інформації й одержання даних від користувача, а також застосовуються як графічні засоби для роботи з набудовує процедурой, що, або додатком.

VBA є єдиним середовищем розробки додатків у всіх програмах Microsoft Office. Перелічимо головні переваги, одержувані в результаті застосування мови VBA.

По-перше, за допомогою VBA можна записувати послідовності повторюваних команд, характерних для якого-небудь додатка, і призначати правила (умови), відповідно до якого ці послідовності (процедури VBA) будуть викликатися в додатку. Наприклад, після натискання деякої кнопки, робочий аркуш Excel буде відформатований з урахуванням ваших вимог, записаних на VBA і збережених у робочій книзі або шаблоні.

По-друге, застосувавши засобу VBA, можна забезпечити нестандартний діалог з користувачем, створюючи діалогові форми й обробляючи реакцію користувача на подію в додатку.

Нарешті, використання єдиної мови програмування сприяє більше тісній взаємодії продуктів Microsoft Office. За допомогою VBA можна розробляти додатки, що одночасно застосовують компоненти декількох програм.

VBA є інструментальним засобом розробки додатків у середовищі основних компонентів Office: Word, Excel, PowerPoint, Access, FrontPage і Outlook. За задумом розроблювачів він може використатися саме як засіб розробки додатків, а не тільки як інструмент настроювання користувальницького інтерфейсу й редагування макросів.

VBA безпосередньо пов'язаний з мовою Visual Basic (VB). Основне розходження між ними формулюється в такий спосіб: проекти VBA виконуються тільки за допомогою додатка, що підтримує VBA, у той час як Visual Basic дозволяє створювати повністю автономні додатки. З іншого боку, синтаксис мов VBA і VB практично однаковий. Обидві мови мають майже однакові інтегровані середовища розробки.

Visual Basic для додатків є об’єктно-орієнтованою мовою, що надає можливості візуального програмування. VBA містить ієрархію об'єктів, кожному з яких відповідає свій набір методів і властивостей. Об'єкти являють собою фундаментальні «будівельні» блоки - майже все, що робиться в середовищі VBA, включає модифікацію об'єктів.

Макроси Word

Макрос - це скорочена назва макрокоманди тобто набір команд (операцій), які ви можете записувати й потім виконувати. Макроси дуже зручні для виконання повторюваних і складних операцій. За допомогою макросів ви можете вести пошук і заміну тексту, форматувати текст, працювати з документами, створюючи, відкриваючи й зберігаючи їх, копіювати й переміщати текстові й графічні фрагменти, уводити будь-який текст і взагалі виконувати всі операції, які доступні в меню й вікнах діалогу Word.

Макроси, як і стилі, можна копіювати з одного шаблона в іншій. Написавши зручний макрос, ви можете передати його своїм колегам, щоб і вони оцінили ваш талант.

Макроси пишуться мовою VBA. Таким чином, макроси - це практично тієї ж саме, що програми. Існує два способи створення макросу: записувати свої дії під час роботи з документом або ж написати макрос, використовуючи редактор Visual Basic.

Найбільш простим способом створення макрокоманди є її запис за допомогою макрорекордера, і для цього зовсім не потрібні глибокі знання по програмуванню. Робота макрорекордера багато в чому нагадує роботу звичайного магнітофона, що здійснює запис і відтворення звуку. Макрорекордер протоколює всі виконувані користувачем дії й представляє їх у вигляді VBA-коду. Однак варто пам'ятати, що власноручно написані макроси дозволяють створювати набагато могутніші й гнучкі програми, чим макроси, записуваними за допомогою макрорекордера, але, звичайно, записати макрос набагато простіше, ніж створити його програмний код.

Перш ніж записувати свій макрос, визначитеся, що ви хочете одержати в результаті. Подумайте, які дії він повинен здійснювати, і настройте додаток таким чином, щоб можна було безперешкодно виконати послідовність команд, що підлягають записи. Наприклад, перш ніж приступитися до створення макросу, призначеного для редагування тексту, переконаєтеся, що вікно з потрібним документом перебуває на передньому плані. (Ви можете призупинити процес запису макросу при необхідності виконати операцію, що не слід записувати, але краще спланувати свої дії заздалегідь.) Крім того, вам доведеться протестувати макрос, тому що при записі фіксуються всі дії, у тому числі й помилкові. І обов'язково визначите, у яких умовах буде працювати макрос.

Для приклада ми запишемо невеликий макрос для послідовного форматування всіх графічних об'єктів у документі.

1. Створіть новий документ.

2. Натисніть клавішу Print Screen.

3. Натисніть клавіші Ctrl+V. У документ буде вставлене поточне екранне зображення.

4. Кілька разів натисніть клавіші Ctrl+V, щоб створити в документі кілька сторінок із вставленим малюнком екрана.

5. Натисніть клавіші CtrH-Home, щоб переміститися в початок документа. Зараз ми запишемо макрос, що буде шукати наступний графічний об'єкт у файлі й робити його білою-білим-чорно^-білим.

6. Двічі клацніть на індикаторі ЗАП (REC) у рядку стану, що означає запис (record). На екрані з'явиться вікно діалогу Запис макросу (Record Macro). У цьому вікні діалогу ви можете задати ім'я макросу й призначити йому або кнопку на панелі інструментів, або сполучення клавіш.

7. Уведіть ім'я макросу Знайти_Малюнок. Word не сприймає імена макросів, що містять пробіли, тому переважніше вводити імена макросів у формі Найти рисунок або Знайти_Малюнок.

8. Клацніть на кнопці Клавіатура (Keyboard). На екрані з'явиться нове вікно діалогу призначення макросу сполучення клавіш.

9. Натисніть клавіші Alt+G. У поле Нове сполучення клавіш (Press new shortcut key) з'явиться це сполучення.

10. Клацніть на кнопці Призначити (Assign), потім - на кнопці Закрити (Close). Зверніть увагу на те, що в нижній частині вікна діалогу можна вибрати, у якому шаблоні будуть зберігатися зміни даного макросу.

На екрані документа з'явиться маленька панель інструментів Зупинити запис (Stop Recording). На ній усього дві кнопки: Зупинити запис (Stop Recording) і Пауза (Pause). Позначення кнопок збігаються з типовими позначеннями на аудіо-, відео-, DVD- і іншій техніці. Покажчик миші прийме вид стрілки з невеликою касетою. Ця касета показує, що в цей момент іде запис макросу.

11. Натисніть клавіші Ctrl+F. На екрані з'явиться вікно діалогу Знайти й Замінити (Find and Replace). Клацніть на кнопці Більше (More).

12. Клацніть на кнопці Спеціальний (Special) і виберіть команду Графічний об'єкт (Graphic)

13. Клацніть на кнопці Знайти далі (Find Next), потім - на кнопці Скасування (Cancel). Знайдений графічний об'єкт буде виділений маркерами.

Під час запису макросу деякі операції за допомогою миші виконувати не можна. Наприклад, ви не можете викликати контекстне меню правою кнопкою миші. Щоб вивести на екран вікно форматування об'єкта, прийде скористатися меню Формат (Format).

14. Виберіть команду Формат > Малюнок (Format > Picture).

15. У вікні, що відкрилося, діалогу клацніть на вкладці Малюнок (Picture).

16. У списку Кольори (Color) виберіть пункт Відтінки сірого (Grayscale).

17. Клацніть на кнопці ОК.

18. Натисніть клавішу ->, щоб помістити курсор після малюнка.

19. Клацніть на кнопці Зупинити запис (Stop recording) на однойменній панелі інструментів.

20. Покажчик миші прийме свій звичайний вид, а панель інструментів Зупинити запис (Stop recording) зникне з екрана.

Виконаємо наш макрос. Просто натисніть клавіші Alt+G і ви побачите,-як Word повторить всі операції, які ви тільки що виконували. Програма знайде наступний малюнок, виділить його й зробить білою-білим-чорно^-білим. Нажавши це сполучення клавіш кілька разів, ви знайдете й зміните всі малюнки в даному документі.

21. Утримуючи натиснутої клавішу Shift, виберіть команду Файл > Зберегти всі (File > Save All). Дана команда зберігає зміни в поточному шаблоні документа й у всіх відкритих документах.

Макроси Excel

Для того щоб почати запис макросу, необхідно активізувати чистий робочий аркуш, вибрати в меню Tools (Сервіс) команду Macro (Макрос), а в підменю, що відкрився, - команду Record New Macro (Почати запис). На екрані з'явиться діалогове вікно Record Macro (Запис макросу), у якому варто вказати ім'я макросу, увести його короткий опис, задати комбінацію клавіш для запуску створюваного макросу й визначити місце його зберігання. За замовчуванням макросу привласнюється ім'я Macro# (Макрос#), де символ діеза відповідає порядковому номеру макросу. Ім'я макросу відображається в поле Macro name (Ім'я макросу). Це ім'я можна залишити без зміни, але при бажанні можна замінити його іншим, котре описувало б дії макросу.

У процесі запису макросу в рядку стану вікна програми з'являється повідомлення Recording (Запис). У такий спосіб програма нагадує користувачеві, що всі виконувані їм дії записуються макрорекордером.

Розглянемо роботу макросів на простому прикладі:

- установити повноекране подання для вікна робочої книги;

- скасувати відображення сітки шляхом зняття прапорця Gridlines (Сітка) на вкладці View (Вид) діалогового вікна Options (Параметри);

- виділити робочий аркуш і задати для всіх осередків грошовий формат;

- установити вид шрифту Arial і розмір 14 для тексту осередків.

Виконавши перераховані дії, ви повинні зупинити запис, і оскільки запис макросу завершений, повідомлення Recording (Запис) з рядка стану зникне.







Последнее изменение этой страницы: 2017-01-19; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.215.182.81 (0.009 с.)