Міністерство освіти та науки україни харківський державний технічний університет будівництва І архітектури

Вид материалаДокументы

Содержание


1 Макроси і мови програмування
1.2 Основні етапи створення нових макросів
Завдання стартових умов для макросу.
Запуск макрорекордера і присвоєння імені макросові.
Виконання дій, які необхідно записати для використання пізніше.
Зупинка макрорекордера.
Сервис | Макрос | Начать запись
Запись макроса
Запись макроса
Запись макроса
Текстове вікно
Макрос доступен для
1.3 Створення макросу в Word
Приклад створення макросу в Word 2003
Сервис | Макрос | Начать запись
Имя макроса
Запись макроса
Панели (Toolbars) або Клавишам
Настройка клавиатуры
Настройка клавиатуры
...
Полное содержание
Подобный материал:


МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ


ХАРКІВСЬКИЙ ДЕРЖАВНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ БУДІВНИЦТВА І АРХІТЕКТУРИ


Факультет економіки та менеджменту


Кафедра комп’ютерного моделювання та інформаційних технологій


МЕТОДИЧНІ ВКАЗІВКИ

ДО ПРОХОДЖЕННЯ НАВЧАЛЬНОЇ ПРАКТИКИ

студентів І-го курсу,

спеціальності „Економічна кібернетика”,

спеціалізації „Економічна безпека”





2008

ВСТУП



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

Одним з найважливіших аспектів підготовки Microsoft Office до виконання конкретних задач є автоматизація процесів взаємодії користувача з додатками Microsoft Office, які не є закінченими продуктами і які можуть виконувати всі можливі задачі. Вони являють собою системи, які потребують певного налагодження, що забезпечується різноманітними засобами як інтерактивними, так і програмними. Усі додатки Microsoft Office підтримуються, як правило, мовою програмування Visual Basic for Applications (VBA).

VBA відноситься до мов об'єктно-орієнтованого програмування (ООП), що дозволяє аналізувати, проектувати і писати додатки за допомогою об'єктів.

VBA – відносно легка мова програмування. Вона проста в освоєнні і дозволяє швидко одержувати відчутні результати – конструювати професійні додатки, що вирішують практично всі задачі, що зустрічаються в середовищі Windows. При цьому створення багатьох додатків з використанням VBA простіше і швидше, ніж за допомогою інших мов програмування.

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

VBA дозволяє працювати з Microsoft Office як з деяким конструктором: у розпорядженні проектувальника VBA-додатка є не тільки велика кількість об'єктів і колекцій, але і можливості настроювати програмно будь-який додаток для "спілкування" з комп’ютером або з додатками Microsoft Office [1-4].

VBA застосовує технологію візуального програмування, тобто конструювання робочої поверхні додатка і елементів його керування безпосередньо на екрані, а також запис усієї програми або її частин за допомогою макрорекордера (MacroRecorder).

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

У додатках А, Б до даного посібника розглянуті приклади створення макросів.


1 Макроси і мови програмування


1.1 Макрос і макрорекордер


Одним з вбудованих інтелектуальних засобі VBA є макрорекордер, який дозволяє перекласти на мову VBA всі дії користувача, що виконуються вручну в основному додатку. Макрорекордер (MacroRecorder) – транслятор, який створює програму (макрос) мовою VBA, що є результатом перекладу на мову VBA дій користувача з моменту запуску MacroRecorder до закінчення запису макросу.

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

Макрорекордер (або просто «рекордер») записує всі дії користувача, включаючи помилки і неправильні записи. Коли програма відтворює макрос, вона виконує кожну записану рекордером команду точно в тій послідовності, в якій користувач виконував запис. Макрорекордери мають можливість редагування макросів, виправляти невеликі помилки або вносити інші зміни в макрос без його повного перезапису.

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

За допомогою макросів можна створювати меню користувача, діалогові вікна і панелі інструментів, що можуть додати і змінити інтерфейс усім відомих продуктів Word і Excel.

Макроси Visual Basic for Applications зберігаються як частина файлів, в яких Word, Excel і Access звичайно містять свої дані, – макроси зберігаються у файлах документів у Word і у файлах робочих книг у Excel. Макроси зберігаються в спеціальній частині файлу даних – модулі (Modules). Модуль VBA містить вихідний код (source code) макросу – текстове представлення інструкцій. Кожен документ Word (або шаблон документа) може містити один або кілька модулів або не містити ніякого модуля, аналогічно, кожен файл робочої книги Excel може не містити модулів або містити один або кілька модулів. Модулі, що зберігаються в одному документі Word або робочій книзі Excel, мають загальну назву Project (проект).

Знання того, як Word і Excel іменують створювані в них модулі, допоможе знаходити записані рекордером макроси, коли буде потрібно переглянути або редагувати їх.

Записуючи макроси в Word, можна визначити тільки документ або шаблон, у якому Word зберігає записаний макрос. У Word усі записані макроси зберігаються в модулі з ім'ям NewMacros. Наприклад, якщо треба зберегти новий записаний макрос у шаблоні Normal.dot, Word зберігає вихідний код цього макросу в модулі NewMacros шаблону Normal.dot. Інший приклад – якщо відкривається документ з ім'ям Ch02.doc, а потім записується макрос у цей документ, Word збереже записаний макрос у модулі NewMacros документа Ch02.doc. Якщо модуль NewMacros не існує, Word створить його. Word продовжує зберігати записані макроси в модулі NewMacros документа або шаблоні документа, що вибирається, незалежно від того, чи записуються додаткові макроси в поточному чи якому-небудь іншому сеансі роботи.

Як і в Word, записуючи макроси в Excel, можна визначати тільки робочу книгу, у якій Excel зберігає записаний макрос, – поточну робочу книгу, нову робочу книгу або робочу книгу Personal.xls. Excel вибирає модуль, у якому зберігається записаний макрос і в разі необхідності створює цей модуль. Правила вибору модуля, у якому зберігається записаний макрос, у Excel є більш складними, ніж у Word.

Коли Excel створює модуль, у якому зберігається записаний макрос, модулю привласнюється ім'я Module N, де N – це кількість модулів, створених для певної робочої книги під час поточного сеансу роботи. Наприклад, в перший раз, коли зберігається записаний макрос у Personal.xls (особистій книзі макросів), Excel створює модуль з іменем Modulel. Якщо продовжувати записувати макроси в тому ж сеансі роботи і зберігати їх у Personal.xls, Excel продовжує зберігати записані макроси в тому ж модулі Modulel доти, поки не буде вибрано іншу робочу книгу. Якщо пізніше в тому ж сеансі роботи знову треба зберегти записані макроси в Personal.xls, Excel додає інший модуль з ім'ям Module2 в цю книгу. Якщо яка-небудь робоча книга вже містить модуль з тим же ім'ям, що обрано в Excel для нового модуля, Excel збільшує число в імені модуля доти, поки ім'я нового модуля не буде відрізнятися від імен існуючих модулів. Наприклад, якщо починати новий сеанс роботи в Excel і потім зберігати записаний рекордером макрос у книзі Personal.xls, Excel спочатку вибирає ім'я Modulel для нового модуля. Якщо ж книга Personal.xls уже містить модулі з іменами Modulel і Module2, Excel збільшує число в імені модуля, щоб воно не збігалося з існуючими іменами; новий модуль одержує ім'я Modules.

Записуючи новий макрос макрорекордером у PowerPoint, ім'я макросу, запропоноване додатком за замовчуванням, складається зі слова "Macro" і номера чергового макросу. Якщо в момент запису нового макросу є відкритими кілька файлів із презентаціями, то у вікні Record Macro буде запропоновано список відкритих презентацій, вказавши на те, у якій презентації зберегти макрос, що записується.

Додатки MS Visio і MS FrontPage не мають макрорекордера. Усі «офісні» додатки дозволяють створювати нові модулі, в яких можна зберігати свої власні макроси.


1.2 Основні етапи створення нових макросів

Розглянемо, що необхідно знати для запису якого-небудь макросу.

Звичайно запис макросу включає чотири основних кроки:

1 Завдання стартових умов для макросу. Це означає завдання тих умов робочого середовища, що повинні бути дотримані під час відтворення записаного макросу.

2 Запуск макрорекордера і присвоєння імені макросові. Одночасно з запуском макрорекордера необхідно дати і’мя макросові і вибрати місце, де він повинен бути збережений. Під час запуску макрорекордера можна вибирати між призначенням команди запуску макросу за допомогою «гарячої клавіші» або зв’язуванням макросу з яким-небудь меню або панеллю інструментів.

3 Виконання дій, які необхідно записати для використання пізніше. В макрос можна записати будь-яку дію, яку можна виконати, використовуючи клавіатуру або кнопки миші, включаючи виконання раніше записаних макросів. Конкретні дії, що виконуються, залежать від задачі, яку необхідно записати.

4 Зупинка макрорекордера. Коли зупиняється макрорекордер, всі подальші дії більше не записуються і не зберігаються в макросі. Як тільки зупинено рекордер, новий записаний макрос відразу ж готовий до використання.

Перед записом якого-небудь макросу треба задати умови, за яких буде запускатися макрос пізніше. Виконання (running або executing) макросу означає відтворення записаних у цьому макросі інструкцій.

Наприклад. Необхідно створити макрос, що буде застосовувати визначений шрифт, розмір і колір шрифту в будь-якому обраному тексті документа в Word. Стартовими умовами для цього макросу будуть відкритий документ із виділеним блоком тексту. Якщо створюється подібний макрос форматування тексту в Excel, стартовими умовами будуть відкрита робоча книга, обраний робочий лист і виділений фрагмент або діапазон фрагменту.

Стартові умови для макросу необхідно задати перед тим, як запускати макрорекордер, тому що макрорекордер буде записувати всі дії, що виконуються. Якщо запустити макрорекордер, а потім відкрити деякий документ і виділити текст, ці дії стануть частиною отриманого в результаті запису макросу. Закінчений макрос буде занадто специфічним: він буде завжди відкривати той самий документ і форматувати той самий блок тексту. Для створення загального макросу, що можна використовувати для форматування будь-якого обраного тексту, треба запускати макрорекордер після відкриття документа і вибору тексту.

В Word, Excel або PowerPoint, запис нового макросу здійснюється однаково. Вибирається команда Сервис | Макрос | Начать запись (Tools | Macro | Record New Macro). І в Word, і в Excel, і в PowerPoint відображається діалогове вікно Запись макроса (Record Macro), що використовується для того, щоб дати ім'я новому макросові, вибрати місце його збереження і інше.

Діалогове вікно Запись макроса може несуттєво відрізнятися залежно від того, чи записується ви макрос у Word, Excel або PowerPoint. Діалогове вікно Запись макроса в Word 2003 дозволяє за вибором призначати «гарячу клавішу» для запуску нового макросу або додавати новий макрос як кнопку на панелі інструментів. У Excel 2003 діалогове вікно Запись макроса дає можливість призначати тільки «гарячу клавішу» для запуску нового макросу. У PowerPoint 2002 подібне діалогове вікно дозволяє вказати ім'я макросу презентації, в який варто записати макрос. В усіх цих додатках вікно Запись макроса дозволяє зробити опис макросу.

Імена макросів повинні починатися з букви, хоча вони можуть містити числа. Імена макросів не можуть включати пробіли або розділові знаки. У Excel ви можете вводити ім'я макросу довжиною до 64 символів; Word дозволяє вводити ім'я макросу довжиною до 80 символів.

Діалогові вікна Запись макроса в Word і в Excel мають наступні три загальних елементи (на рис. 1.1 приведено вікно для Word, а на рис. 1.2 – для Excel):

1 Текстове вікно Имя макроса (Macro Name). Першою опцією діалогового вікна Запись макроса є Имя макроса. За замовчуванням VBA вибирає ім'я макросу, що складається зі слова «Макрос» («Macros»), за яким випливає номер, що відповідає числу макросів, уже створених у цьому сеансі роботи. Бажано вводити макросам імена, що несуть визначену інформацію про те, що виконують макроси.

2 Текстове вікно Описание (Description). Інформація в текстовому вікні Описание макросом безпосередньо не використовується. Текстове вікно Описание призначено для введення деяких зауважень і коментарів про те, що виконує даний макрос. Коли ви записуєте макрос, VBA заповнює за замовчуванням вікно Описание інформацією, починаючи з дати запису цього макросу й імені користувача (рис. 1.1–1.2).

3 Список Макрос доступен для: (Store macro in:). Цей список, що розкривається, дозволяє вибрати місце, де варто зберігати записаний макрос. Макроси, що записані в Word, завжди зберігаються у файлі документа (.doc) або у файлі шаблона документа (.dot). Макроси, записані в Excel, завжди зберігаються у файлі робочої книги (.xls).





Рисунок 1.1 – Вкладка Користувач діалогового вікна Параметри в Word





Рисунок 1.2– Вкладка Загальні діалогового вікна Параметри в Excel


1.3 Створення макросу в Word


Запустити Word, вибрати Tools | Macro | Visual Basic Editor (Сервис | Макрос | Редактор Visual Basic) або натиснути комбінацію клавіш Alt+Fll. Екран буде виглядати подібно наведеному на рис. 1.3. Помістити курсор у найбільше вікно (Code) і ввести наступний текст (без нумерації рядків!):


Лістинг 1.1. Перший макрос у Word


1 Sub MyFirstMacro()

2 MsgBox ("Макрос у Word!")

3 End Sub


Перший і третій рядки цього макросу-процедури є заголовком і закінченням процедури відповідно. Причому MyFirstMacro – це ім'я макросу, під яким він буде розпізнаватися системою. Другий рядок макросу містить функцію висновку діалогового вікна з текстом "Макрос у Word!", тобто другий рядок містить звичайний оператор висновку на екран.





Рисунок 1.3 – Вигляд екрану на початку створення макросу


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





Рисунок 1.4Макрос у вікні Code редактора Visual Basic


Тепер можна виконати контрольний запуск макросу, не виходячи з Редактора. Для цього вибирається Run | Run Sub|UserForm. Результатом роботи макросу буде видача на екран діалогового вікна (Рисунок 1.5).





Рисунок 1.5 – Результат роботи простішого макросу (програми мовою Visual Basic)


Запустити створений макрос безпосередньо з Word можна таким чином. Треба закрити Visual Basic Editor або за допомогою комбінації клавіш Alt+Q, або – меню File| Close and Return to Microsoft Word. Далі вибирається Tools | Macro | Macros (Сервис | Макрос | Макроси). У діалоговому вікні Macros, що з'явилося, буде знайомий макрос MyFirstMacro, після цього можна натиснути на кнопку Run.

Приклад створення макросу в Word 2003


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

Припустимо, що необхідно часто форматувати слова або фрази, до яких треба привернути увагу й документації, за допомогою напівжирного шрифту Arial 12-го розміру. Завданням стартових умов для цього макросу є відкритий документ і виділений блок тексту. Для завдання стартових умов у цій вправі треба виконати наступні кроки:

1 Запустити Word 2003.

2 Відкрити (або створити) який-небудь документ.

3 Виділити будь-яке слово або фразу в документі. На рис. 1.6 показано приклад відкритого документа з єдиним виділеним словом.





Рисунок 1.6 – Стартові умови для макросу форматування тексту в Word


Виділенням тексту у відкритому документі створено необхідні стартові умови для запису загального макросу з метою застосування форматування символів до будь-якого обраного тексту.

Тепер можна запустити макрорекордер у Word, дати ім'я макросу, вибрати місце для збереження нового макросу і вибрати додаткові опції. Це виконується такими наступними кроками:

1 Вибирається команда Сервис | Макрос | Начать запись (Tools | Macro | Record New Macro). У Word відображається діалогове вікно Запись макроса (Record Macro), показане на рис. 1.7.

2 У текстовому полі Имя макроса (Macro name) вводиться ВыделитъТекст як ім'я макросу. Це ім'я допомагає запам'ятати, що виконує макрос.

3 Можна залишити опис за замовчуванням, у текстовому полі Описание (Description), але в додаванні до існуючого опису можна ввести наступний текст: Встановлює Arial, Bold, 12 для виділеного тексту. Цей додатковий коментар допоможе визначити призначення цього макросу.

4 Використовується список, що розкривається, Макрос доступен для: (Store Macro in:) для вибору місця, у якому буде збережений записаний макрос. Можна зберегти макрос у будь-якому глобальному шаблоні або в поточному документі: для цього вибираємо Всех документов (All Documents) (Normal.dot).

5 Для початку запису макросу треба натиснути на кнопку OK, якщо тільки не додається макрос у панель інструментів або призначається для нього «гаряча клавіша».

Конкретні місця збереження, доступні в Word у діалоговому вікні Запись макроса, залежать від того, які глобальні шаблони використовуються в даний момент. Доступні варіанти завжди включають шаблон Normal.dot і поточний активний документ.

На рис. 1.7 показано діалогове вікно Запись макроса, яке заповнено для макросу-приклада ВыделитьТекст.




Рисунок 1.7 – Заповнене діалогове вікно Запись макроса

для макросу-приклада


Можна також використати панелі інструментів і клавіатури для запуску макросу. Існують дві додаткові опції, що є в діалоговому вікні Запис макросу в Word: або призначити «гарячу клавішу» для нового макросу, або зв'язати його з командною кнопкою на панелі інструментів. Якщо призначається «гаряча клавіша» для макросу, то можна пізніше запускати цей макрос натисканням обраного сполучення клавіш. Якщо зв'язується макрос з командною кнопкою на панелі інструментів, то його можна запускати, натискаючи цю кнопку на панелі інструментів.

Натиск мишею на кнопку Панели (Toolbars) або Клавишам (Keyboard) для переміщення нового макросу на панель інструментів або призначення йому «гарячої клавіші» приводить до запуску макрорекордера. Якщо використовуються обидві опції, спочатку вибирається кнопка панелі, а потім натискається кнопка Клавишам для виводу на екран діалогового вікна Настройка клавиатуры (Customize Keyboard).

Для того щоб призначити макросу «гарячу клавішу», треба натиснути на кнопку Клавишам у діалоговому вікні Запись макроса в Word. Відкривається вікно Настройка клавиатуры, яке показане на рис. 1.8. Якщо призначається «гаряча клавіша» новому макросові (який ще не був записаний), то список Категории (Categories) відключено. Ім'я нового макросу вибирається за замовчуванням у списку Команды (Commands). Якщо натиснути сполучення клавіш, які використовуються для запуску цього макросу, в текстовому вікні з'являється запис Новое сочетание клавиш (Press new shortcut key). Щоб призначити сполучення клавіш новому макросу треба натиснути на кнопку Назначить (Assign). Для виходу з діалогового вікна Настройка клавиатуры натискається кнопка Закрить (Close). Тепер вже можна переходити до запису макросу.

Як тільки закривається діалогове вікно Настройка клавиатуры , Word активізує макрорекордер і починає запис дій.





Рисунок 1.8 – Діалогове вікно Настройка клавиатуры


Незалежно від того, чи запускається макрорекордер кнопкою ОК або, вибираючи опцію Панели (Toolbars) або Клавишам (Keyboard), Word відображає панель Остановка записи (Stop Recorder). Коли макрорекордер починає записувати дії, на екрані з'являється значок магнітофонної касети чи частина покажчика миші. Макрорекордер зберігає кожну дію, що виконується, у новому макросі доти, поки не буде зупинено рекордер або не зроблено паузу. В рядку стану в нижній правій частині вікна Word з'являється абревіатура (ЗАП), щоб нагадувати про те, що Word записує усі дії. Як приклад можна виконати наступні дії:

1 Використати список Шрифт (Font) на панелі Шрифт для вибору шрифту Arial.

2 Використати список Размер (Size) для вибору 12 як новий розмір шрифту. 3 Вибрати Полужирный (Bold) зі списку Начертание (Font Style) для включення атрибута напівжирного шрифту для тексту (рис. 1.9).

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

Для зупинки макрорекордера треба натиснути кнопку Остановить запись (Stop Macro) на панелі Остановить запись або вибрати Сервис| Макрос | Остановить запись (Tools | Macro | Stop Recording). Для макросу-прикладу ВыделитьТекст належить зупинити макрорекордер негайно після виконання кроків, зазначених у попередньому розділі.

Новий Word-макрос є тепер закінченим і готовим до запуску.





Рисунок 1.9 – Діалогове вікно Шрифт


Записуючи макрос в Word, Excel або PowerPoint рекордер, зберігає послідовність текстових інструкцій, що описують мовою програмування Visual Basic for Applications різні дії, що виконуються тоді, коли рекордер включений. Це текстовий опис команд називається вихідним кодом (source code) для цього макросу. Пізніше, коли запускається макрос, VBA читає записані у вихідному коді інструкції і виконує кожну послідовно, дублюючи в такий спосіб дії, що виконувались, коли записувався макрос.

Вихідний код, отриманий при запису макросу ВыделитьТекст у Word 2002, має такий вигляд.


Лістинг 1.2. Макрос, записаний у Word
  1. Sub Выделитьтекст ( )

  1. ‘ ВыделитьТекст Макрос
  1. ‘ Макрос записаний 11.08.2005 Леуненко О.В.
  2. ‘ Встановлює Arial, Bold, 12 для виділеного фрагмента тексту
  3. With Selection.Font
  4. .Name = "Anal"
  5. .Size = 12
  6. .Bold = True
  7. .Italic = False
  8. .Underline = wdUnderlineNone
  9. .UnderlineColor = wdColorAutomatic
  10. .StrikeThrough = False
  11. .DoubleStrikeThrough = False
  12. .Outline = False
  13. .Emboss = False
  14. .Shadow = False
  15. .Hidden = False
  16. .SmallCaps = False
  17. .AllCaps = False
  18. .Color = wdColorAutomatic
  19. .Engrave - False
  20. .Superscript = False
  21. .Subscript = False
  22. .Spacing - -0.1
  23. .Scaling = 100
  24. .Position - 0
  25. .Kerning = 10
  26. .Animation = wdAnimationNone
  27. End With

32 End Sub


1.4 Створення макросу в Excel 2003


Для цього прикладу припустимо, що необхідно застосовувати напівжирний шрифт Arial 12-го розміру як стиль форматування символів фрагментів робочих аркушів. З метою скорочення часу, необхідного для форматування тексту, треба записати макрос, що вибирає напівжирний шрифт Arial 12-го розміру і застосовує це форматування до будь-якого фрагмента або діапазону поточного виділеного фрагмента.

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

1 Запустити Excel 2003, якщо він ще не запущений.

2 Відкрити яку-небудь робочу книгу.

3 Вибрати який-небудь робочий лист.

4 Виділити будь-як фрагмент у робочому листі.

У результаті створено необхідні стартові умови, щоб записати загальний макрос для форматування символів будь-якого виділеного фрагмента або діапазону фрагментів робочому листі Excel.

Для запуску макрорекордера в Excel, призначення імені макросові, вибору місця для збереження нового макросу і вибору додаткових опцій треба виконати наступні кроки:

1 Вибрати команду Сервис | Макрос | Начать запись (Tools | Macro | Record New Macro). У Excel відображається діалогове вікно Запись макроса (Record Macro), що показано на рис. 1.10.





Рисунок 1.10 – Заповнене діалогове вікно Запись макроса
для макросу-прикладу FormatArialBold12


2 У текстовому вікні Имя макроса (Macro Name) ввести FormatArialBoldl2 як ім'я макросу. Це ім'я допомагає запам'ятати, що виконує макрос.

3 Можна залишити опис за замовчуванням в текстовому вікні Описание (Description), але ввести наступний текст додатково до існуючого опису: Форматує текст діапазону: Arial, Bold, 12. Цей додатковий коментар допоможе визначити призначення даного макросу.

4 Використати список Сохранить (Store macro in) для вибору місця, у якому буде збережений записаний макрос. Доступними варіантами є Личная книга макросов (Personal Macro Workbook), Новая книга (New Workbook) і Эта книга (This Workbook). Оскільки необхідно, щоб цей макрос був доступний у всіх робочих книгах, треба вибрати Личная книга макросов. Вибір Эта книга приведе до того, що Excel збереже новий макрос у поточній активній робочій книзі. Вибір Новая книга приведе до створення в Excel нової робочої книги, у якій буде збережений цей макрос, – робоча книга, що була активної під час запуску макрорекордера, залишається активною робочою книгою; будь-які дії, що записуються, виконуються в цій книзі, а не в новій робочій книзі, створеної для збереження макросу.

5 Можна призначити для запуску макросу гарячу клавішу. Якщо – так, ввести гарячу клавішу в текстове вікно Сочетание клавишей (Shortcut Key) вікна Запись макроса.
  1. Натиснути на кнопку ОК для початку запису макросу.

Як тільки буде натиснута кнопка ОК у діалоговому вікні Запись макроса запуститься макрорекордер, відобразиться панель Остановить запись (Stop Recorder) і почнеться запис дій. Макрорекордер збереже кожну дію в новому макросі. На рис. 1.11 показана панель Остановить запись Excel, виведена на екран під час сеансу запису макросу. (На Рисунок 1.11 макросом, що записується, є макрос-приклад FormatArialBold12). В рядку стану в нижній лівій частині вікна Excel з'являється слово Запись (Recording) як нагадування про те, що Excel записує всі дії.





Рисунок 1.11 – Панель Остановить запись і слово Запись

(у рядку стану) під час запису макросу


За замовчуванням панель Остановить запись у Excel містить дві командні кнопки (див. Рисунок 1.11). Ліва кнопка – це кнопка Остановить запись (Stop); натисніть на цю кнопку для зупинки макрорекордера. Права кнопка – це кнопка Относительная ссылка (Relative Reference). Якщо натискається кнопка Относительная ссылка, Excel записує відносне посилання щораз, коли виділяється який-небудь фрагмент. Кнопка Относительная ссылка є кнопкою-перемикачем (toggle). Коли запис з відносними посиланнями відключено, то кнопка Относительная ссылка виглядає плоскою, під час приміщення курсору миші на кнопку вигляд кнопки змінюється і вона виглядає віджатою. Коли запис з відносним посиланням включено, кнопка Относительная ссылка на панелі Остановить запись натиснута (знаходиться в «утопленому» положенні). Клацаючи на кнопці Относительная ссылка, можна включати і виключати запис з відносними посиланнями під час запису за бажанням.

Для виконання запису макросу FormatArialBold12 необхідно:

1 Вибрати команду Формат | Ячейки (Format | Cells) для відображення діалогового вікна Формат ячейки (Format Cells).

2 Клацнути на ярлик Шрифт (Font) для відображення опцій шрифту. (На
рис. 1.12 показано діалогове вікно Формат ячейки з відображеними опціями шрифту).

3 Вибрати Arial у списку Шрифт (Font).

4 Вибрати Полужирный (Bold) у списку Начертание (Font Style).

5 Вибрати 12 у списку Размер (Size).

6 Клацнути на кнопку ОК, щоб закрити діалогове вікно Формат ячейки і змінити виділений фрагмент у робочому листі.

Після того як закінчиться виконання послідовності дій для запису, належить негайно зупинити макрорекордер Excel. Для цього треба натиснути на кнопку Остановить запись (Stop Macro) на панелі Остановить запись (Recorder) або вибрати команду Сервис | Макрос | Остановить запись (Tools | Mai Stop Recording).





Рисунок 1.12 – Діалогове вікно Формат ячейки у Excel

з опціями шрифту, заповнене для макросу FormatArialBold12


Для макросу-приклада FormatArialBold12 необхідно зупинити макрорекордер відразу ж після того, як натиснута кнопка ОК, щоб закрити діалогове вікно Формат ячейки. Новий макрос у Excel тепер закінчений і готовий до виконання.

Вихідний код, отриманий під час запису макросу у Excel , має такий вигляд.


Лістинг 1.3. Макрос, записаний у Excel

1 Sub FormatArialBold12( )

2 '

3 ' FormatArialBoldl2 Макрос

4 ' Макрос записаний 1/08/2005 (користувач)

5 ' Форматирует текст: Arial, Bold, 12

6 '

7 '

8 With Selection.Font

9 Name = "Arial"

10 FontStyle = "напівжирний"

11 Size = 12

12 Strikethrough = False

13 Superscript = False

14 Subscript = False

15 OutlineFont = False

16 Shadow = False

17 Underline = xlUnderlineStyleNone

18 Colorlndex = xlAutomatic

19 End With

20 End Sub


2 Завдання до літньої практики


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

2 Призначити розроблений макрос будь-якій панелі інструментів.

3 Додати до макросу будь-які коментарі.

4 Перевірити роботу макросу.

5 Внести в код макросу деякі зміни і прослідкувати, як це відобразиться на його роботі.


В кожному варіанті завдання необхідно створити два макроси:

один для MS Word і один для MS EXCEL.


Макроси для MS Word


1

Макрос, який змінює тип обрамлення (а також товщину і колір ліній обрамлення) фрагменту тексту

2

Макрос, який змінює параметри абзацу (вирівнювання, інтервал, відступ червоної строки)

3

Макрос, який додає до таблиці два несуміжних стовпчика

4

Макрос, який перетворює текст у таблицю

5

Макрос, який змінює стиль фрагменту тексту

6

Макрос, який додає у таблицю два суміжних стовпчика зліва від заданого стовпчика

7

Макрос, який додає в текст верхній і нижній колонтитули

8

Макрос, який додає у таблицю три нижніх суміжних строки

9

Макрос, який виконує автозаміну тексту

10

Макрос, який перетворює таблицю в текст

11

Макрос, який розбиває текст на колонки

12

Макрос, який додає до таблиці дві несуміжних строки

13

Макрос, який змінює товщину і колір обрамлення фрагменту тексту, а також колір фону

14

Макрос, який додає в текст рисунок

15

Макрос, який змінює формат таблиці

16

Макрос, який змінює в абзаці колір, розмір, нарис символів

17

Макрос, який перетворює фрагмент тексту у маркірований список

18

Макрос, який змінює стиль тексту з «ОБЫЧНЫЙ» на «ЗАГОЛОВОК»

19

Макрос, який додає номера строк і змінює нарис символів

20

Макрос, який копіює фрагмент тексту і змінює колір символів

21

Макрос, який додає до тексту номери сторінок

22

Макрос, який встановлює переноси у фрагменті тексту

23

Макрос, який переносить фрагмент тексту у нову позицію і змінює його стиль

24

Макрос, який змінює ширину і висоту комірок у таблиці

25

Макрос, який встановлює нові параметри сторінок

26

Макрос, який розбиває текст на три колонки

27

Макрос, який додає до таблиці дві несуміжних строки

28

Макрос, який змінює товщину і колір обрамлення фрагменту тексту, а також колір фону

29

Макрос, який додає в текст рисунок

30

Макрос, який змінює стиль тексту з «ОБЫЧНЫЙ» на «ЗАГОЛОВОК»


Макроси для MS EXCEL


1

Макрос, який розташовує дані комірки по центру і змінює розмір і шрифт символів у комірці

2

Макрос, який змінює колір і розмір символів у комірці

3

Макрос, який міняє місцями дані двох комірок

4

Макрос, який встановлює назву робочого листа

5

Макрос, який додає примітки до комірки

6

Макрос, який робить автозаповнення рядка комірки місяцями року

7

Макрос, який копіює дані однієї комірки в іншу

8

Макрос, який змінює місцями два заданих листа робочої книги

9

Макрос, який додає новий рядок над заданим зверху

10

Макрос, який вставляє формулу в комірку

11

Макрос, який додає нову колонку зліва від заданої колонки

12

Макрос, який міняє місцями задані рядки

13

Макрос, який міняє місцями задані колонки

14

Макрос, який об’єднує дві комірки

15

Макрос, який об’єднує два рядка

16

Макрос, який надає комірці ім’я і розташовує дані по центру

17

Макрос, який надає ім’я діапазону комірок

18

Макрос, який видаляє дані із рядка

19

Макрос, який розташовує дані по центру колонки

20

Макрос, який додає в комірку текcт заданого кольору

21

Макрос, який змінює розмір комірки

22

Макрос, який змінює колір фону комірки і колір символів

23

Макрос, який змінює формат введеного числа

24

Макрос, який замінює формулу числовим значенням при копіюванні даних з комірки

25

Макрос, який видаляє всі дані з робочої книги

26

Макрос, який додає новий рядок над заданим зверху

27

Макрос, який вставляє формулу в комірку

28

Макрос, який додає нову колонку зліва від заданої колонки

29

Макрос, який міняє місцями задані рядки

30

Макрос, який міняє місцями задані колонки



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


1 Гарнаев А.Ю. Самоучитель VBA. – СПб.: БВХ-Петербург, 2003. – 512 с.: ил.

2 Гарнаев А.Ю. Excel, VBA, Internet в экономике и финансах. – СПб.: БВХ-Петербург, 2003. – 816 с.: ил.

3 Кузьменко В.Г. Программирование на VBA 2002. – М.: ООО «Бином-Пресс», 2003 . – 880 с.: ил.

4 Демидова Л.А., Пылькин А.Н. Программирование в среде Visual Basic for Application: Практикум. – М.: Горячая линия – Телеком, 2004. – 175 с.: ил.

5 Биллинг В.А. Средства разработки VBA- приложений.– М.: ООО «Бином-Пресс», 2001.–567 с.

6 Гетц К., Джилберт М. Программирование в Microsoft Office (Полное руководство по VBA). – М.: ООО «Бином-Пресс», 2000.– 652 с.
  1. Камминг С. VBA для чайников.– СПб.: БВХ-Петербург, 2002.– 798 с.
  2. Кузьменко В.Г. Базы данных в Visual Basic и VBA. – М.: ООО «Бином-Пресс», 2004 . – 588 с.
  3. Сизова Н.Д., Леуненко О.В. Методичні вказівки до виконання лабораторних робіт з курсу «Інформатика( Основні засоби програмування на VBA) (для студентів спеціальностей 6.050102; 6.050100.» –Харків: ХДТУБА, 2007.– 65 с.
  4. Сизова Н.Д., Леуненко О.В. Програмування мовою Visual Basic for Application. Навчально-методичний посібник. –Харків: ХДТУБА, 2007.– 144 с.
  5. Сизова Н.Д., Леуненко О.В. Методичні вказівки до виконання лабораторних робіт з курсу «Інформатика: Основні засоби програмування на VBA (для студентів заочної форми навчання)». – Харків: ХДТУБА, 2007.– 48 с.
  6. Сизова Н.Д. , Леуненко О.В Методичні вказівки до виконання практичних робіт з курсу «Інформатика: Основні засоби програмування на VBA. Практичні роботи».– Харків: ХДТУБА, 2007.– 76 с.



Додаток А

Створення Макросів в WORD


Мета роботи: створення Макросів в WORD

Порядок виконання лабораторної роботи


1 Запустіть Word.

2 Відкрийте або створіть будь-який документ.

3 Зробіть стартові умови для запису макросу, які буде виконувати форматування для будь-якої фрази в даному документі (наприклад, виділить будь-яку фразу в документі).

4 Виберіть СЕРВИС  МАКРОС  НАЧАТЬ ЗАПИСЬ (TOOLS  MACRO  RECORD NEW MACRO). З’явиться діалогове вікно ЗАПИСЬ МАКРОСА (RECORD MACRO).

5 Введіть у тексте поле ИМЯ МАКРОСА (MACRO NAME) яке-небудь ім’я створюваному макросу (наприклад, MyText1).

6 Зробіть коментар в текстовому полі ОПИСАНИЕ ( DESCRIPTION) (наприклад, будемо виділяти фрази в тексті). Цей коментар допоможе визначити, яку функцію буде виконувати створюваний макрос.

7 Виберіть місце, де буде зберігатися записаний макрос. Для чого використайте список МАКРОС ДОСТУПЕН ДЛЯ: (STORE MACRO IN:). Якщо необхідно, щоб макрос використовувався в будь-якому документі, з яким будете працювати, виберіть ВСЕХ ДОКУМЕНОВ (ALL DOKUMENTS) (NORMAL. dot).

8 Натисніть на кнопку ОК (в разі, якщо макрос не добавляється до панелі інструментів чи для нього не призначається “гаряча клавіша” ).

9 В разі, коли використовуються дві додаткові опції під час створення макросу треба виконати такі дії в діалоговому вікні ЗАПИСЬ МАКРОСА (RECORD MACRO).

– Якщо використовуються обидві опції, то спочатку треба вибирати кнопку ПАНЕЛІ (TOOLBARS), а потім кнопку КЛАВИШАМ (KEYBOARD) для виведення на екран ділового вікна НАСТРОЙКА КЛАВИАТУРЫ (CUSTOMIZE KEYBOARD).

– При призначенні “гарячої клавіші” треба кликнути мишкою на кнопці КЛАВИШАМ (KEYBOARD) в діалоговому вікні ЗАПИСЬ МАКРОСА (RECORD MACRO). Відкривається вікно НАСТРОЙКА КЛАВИАТУРЫ (CUSTOMIZE KEYBOARD). Якщо створюється новий макрос, який ще не був записаний, то список КАТЕГОРИИ (CATEGORIES) відключений. За замовчуванням нове ім’я макросу, що записується, пишеться в списку КОМАНДЫ (COMMANDS). Натисніть сполучення клавіш, які бажано використати для використання для запуску створюваного макросу. Клавіші, які були натиснуті, з’являться в текстовому вікні НОВОЕ СОЧЕТАНИЕ КЛАВИШ ((PRESS NEW SHORTCUT KEY). Далі натисніть на кнопку НАЗНАЧИТЬ (ASSIGN), нове сполучення клавіш буде призначено новому макросу. Для виходу з діалогового вікна НАСТРОЙКА КЛАВИАТУРЫ треба натиснути на кнопку ЗАКРЫТЬ (CLOSE) і переходити до запису макросу. Як тільки закривається вікно НАСТРОЙКА КЛАВИАТУРЫ, Word активізує макрорекодер і починає запис всіх дій користувача.

– Аналогічні дії виконуються, якщо призначається для нового макросу кнопка на клавіатурі, але тоді треба кликнути мишкою на кнопці ПАНЕЛІ (TOOLBARS).

10 Незалежно від того, як запускається макрорекодер (натискуванням на кнопку ОК чи вибираючи опції ПАНЕЛІ (TOOLBARS) або КЛАВИШАМ (KEYBOARD), Word відображає панель ОСТАНОВКА ЗАПИСИ (STOP RECORDER). На екрані з’являється значок запису (частина магнітофонної касети або частинка миші). В рядку стану (нижня права частина вікна Word) з’являється напис ЗАП (REC), ця інформація вказує на те що, Word записує всі дії користувача.

11 Зупинка макрорекодера відбувається натисканням на кнопку ОСТАНОВИТЬ ЗАПИСЬ ((STOP MACRO) на панелі ОСТАНОВКА ЗАПИСИ або можна вибрати СЕРВИС  МАКРОС  ОСТАНОВИТЬ ЗАПИСЬ (TOOLS  MACRO  STOPRECORDING). Макрос готовий до запуску.

12 Макрос запускається вибором команд СЕРВИС  МАКРОС  МАКРОСЫ (TOOLS MACRO MACROS). Для запуску макросу можна також вибрати необхідний макрос в списку ИМЯ (MACRO NAME) і натиснути на кнопку ВЫПОЛНИТЬ (RUN).

13 Макрос зберігається в спеціальній частині файлів даних, яка називається МОДУЛИ (MODULES). Модуль VBA має ИСХОДНЫЙ КОД (SOURCE CODE) макросу, це текстове зображення інструкцій. Кожен документ Word може мати один або декілька модулів, чи не мати жодного. Модулі, які зберігаються в одному документі Word, мають спільну назву ПРОЕКТ (PROJECT).


Додаток Б


Створення макросу в MS Excel


Мета роботи: створення Макросів в Excel. Створити таблицю (рис.1) і побудувати діаграму для відображення частки кожної статті витрат бюджету. Складати щомісяця ту саму таблицю з одночасною побудовою діаграми досить непродуктивна витрата часу. Більш розумно один раз навчити комп'ютер створювати таблицю, а потім у міру необхідності лише віддавати команду підготовки таблиці, щоб залишилося тільки внести в неї дані. Для навчання комп'ютера відмінно підходить MacroRecorder – транслятор, що створює програму (макрос) мовою VBA, що є результатом перекладу на мову VBA дій користувача з моменту запуску MacroRecorder до закінчення запису макросу.





Рисунок 1 – Таблиця щомісячних витрат

Порядок виконання лабораторної роботи:


Запустити EXCEL і побудувати шаблон таблиці витрат за наступним алгоритмом:

1 Активізувати комірку B1 і ввести в неї Витрати.

2 Активізувати комірку А2 і ввести в неї Транспорт.

3 Активізувати комірку A3 і ввести в неї Комунальні.

4 Активізувати комірку А4 і ввести в неї Їжа.

5 Активізувати комірку A5 і ввести в неї Розваги.

6 Активізувати комірку A5 і ввести в неї Одяг.

7 Активізувати комірку A7 і ввести в неї Комп'ютер.

8 Активізувати комірку A8 і ввести в неї Машина.

9 Активізувати комірку A9 і ввести в неї Інші.

10 Активізувати комірку A10 і ввести в неї Разом.

11 Активізувати комірку B10 і ввести в неї формулу =СУММ(B2:B9), що обчислює сумарні витрати.

12 Вибрати діапазон A2:B10 і за допомогою списку, що розкривається,­ Границы (Borders) панелі інструментів Форматирование (Formatting)­ створити рамку, що підкреслює цей діапазон.

13 Вибрати діапазон A10:B10 і за допомогою списку, що
розкривається, Цвет заливки (Fill Color) панелі інструментів Форматирование (Formatting) офарбити цей діапазон у жовтий Цвет.

14 Вибрати комірку B1 і за допомогою списку, що розкривається, Цвет­
заливки
(Fill Color) панелі інструментів Форматирование (Formatting)­
офарбити цю комірку у жовтий Цвет.

15 Вибрати діапазон A2:A9 і за допомогою списку, що розкривається,
Цвет заливки (Fill Color) панелі інструментів Форматирование (Formatting) офарбити цей діапазон у світло-бірюзовий Цвет.

16 Вибрати колонку A, змінити його ширину так, щоб введений у діапазон A2:A9 текст містився в цій колонці.

17 Вибрати діапазон A2:B9 і за допомогою Мастер диаграмм, що викликається кнопкою Мастер диаграмм (Chart Wizard) панелі інструментів Стан­дартная (Standard), створити діаграму. Робочий лист тепер буде виглядати так, як показано на рис. 1.

18 Зупинити запис макросу, натиснувши кнопку Остановить запись (Stop Recording).

19 Заповнити комірки таблиці вихідними даними, розрахунок сумарних витрат і побудова діаграми тепер буде відбуватися автоматично.

20 Для перегляду записаної процедури необхідно вибрати команду Сервис, Макрос, Макросы (Tools, Macro, Macros), що викликає діалогове вікно Макрос (Macro) (рис. 2).

21 У діалоговому вікні Макрос (Macro) в списку виділимо макрос і натиснемо кнопку Изменить (Edit). Це викликає появу головного вікна редактора VBA (рис. 3).




Рисунок 2 – Діалогове вікно Макрос





Рисунок 3 – Головне вікно редактора VBA


Нижче наведено повний текст записаного макросу.


Sub Расходы()

'

' Расходы Макрос

' Расчет месячных расходов

'

'

Range("B1").Select

ActiveCell.FormulaR1C1 = "Расходы"

Range("A2").Select

ActiveCell.FormulaR1C1 = "Транспорт"

Range("A3").Select

ActiveCell.FormulaR1C1 = "Коммунальные"

Range("A4").Select

ActiveCell.FormulaR1C1 = "Еда"

Range("A5").Select

ActiveCell.FormulaR1C1 = "Развлечения"

Range("A6").Select

ActiveCell.FormulaR1C1 = "Одежда"

Range("A7").Select

ActiveCell.FormulaR1C1 = "Компьютер"

Range("A8").Select

ActiveCell.FormulaR1C1 = "Машина"

Range("A9").Select

ActiveCell.FormulaR1C1 = "Прочие"

Range("A10").Select

ActiveCell.FormulaR1C1 = "Итого"

Range("B10").Select

ActiveCell.FormulaR1C1 = "=SUM(R[-8]C:R[-1]C)"

Range("A10:B10").Select

Selection.Interior.ColorIndex = 36

Range("B1").Select

Selection.Interior.ColorIndex = 36

Range("A2:A9").Select

Selection.Interior.ColorIndex = 34

Columns("A:A").ColumnWidth = 13.86

Range("A2:B9").Select

Charts.Add

ActiveChart.ChartType = xlColumnClustered

ActiveChart.SetSourceData _
Source:=Sheets("Лист1").Range("A2:B9"), PlotBy:= xlColumns

ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"

With ActiveChart

.HasTitle = False

.Axes(xlCategory, xlPrimary).HasTitle = False

.Axes(xlValue, xlPrimary).HasTitle = False

End With

End Sub

Для того щоб скористатися макросом, треба перед його виконанням перейменувати робочий лист, привласнивши йому ім'я Лист1. Після побудови таблиці можна змінити ім'я робочого листа на нове, наприклад, на ім'я місяця, для якого будується поточний звіт по витратах.

Отже, активізувати новий робочий лист, тимчасово привласнивши йому ім'я Лист1. Вибрати команду Сервис, Макрос, Макросы (Tools, Macro, Macros), що викликає діалогове вікно Макрос (Macro). У цьому вікні в списку виділити вихідний макрос і натиснути кнопку Выполнить (Run). Діалогове вікно закривається і виконується процедура, що створює на активному робочому листі шаблон таблиці. Тепер у неї залишається ввести нові дані, а розрахунок сумарних витрат і побудова діаграми буде відбуватися автоматично.