Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРС для 21-22 (2014-15).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
574 Кб
Скачать
☆

Завдання до срс №5

Тема: Створення макросів за допомогою макрорекордера, вбудованого в текстовий процесор MS Word та табличний процесор MS Excel і запуск їх на виконання.

Теоретичні відомості

План

  1. Поняття макросу і макрорекордера. Приклади макросів.

  2. Різновиди макросів.

  3. Створення макросу. Поняття про Visual Basic for Application (VBA)

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

  5. Структура макросу. Редагування макросів.

  6. Типи даних. Змінні.

Макрос - це програма, що складається із списку команд, які повинні бути виконані додатком. Він служить для об'єднання різних дій в одну процедуру, яку можна легко викликати. Цей список команд складається в основному з макрооператорів, які тісно пов'язані з командами додатків Word, Excel та інших. Термін macro використовується як префікс в декількох словах англійської мови; він походить від грецького слова, що означає розширений або розтягнутий.

Наприклад:

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

  2. Макрос встановлює параметри друку у вікні діалогу "Параметри сторінки" і потім друкує документ.

Макроси бувають простими або дуже складними. Вони навіть можуть бути інтерактивними, тобто працювати в діалозі з користувачем.

Можна виділити 3 основних різновидів макросів:

1. Командні макроси - це найбільш поширені макроси, що зазвичай складаються з операторів, еквівалентних тим або іншим командам меню або параметрам діалогового вікна. Основним призначенням такого макросу є виконання дій, аналогічних командам меню додатку.

2. Функції користувача - працюють аналогічно вбудованим функціям Excel. Відмінність цих функцій від командних макросів полягає в тому, що вони використовують значення аргументів, що пердаються їм, проводять деякі обчислення і повертають результат в точку виклику, але не змінюють додатку.

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

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

Є два способи створення макросу:

1-й спосіб: автоматично записувати послідовність своїх дій за допомогою макрорекордера.

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

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

2-й спосіб: Вручну ввести інструкції з використанням мови програмування Visual Basic for Application (VBA).

VBA – це відносно новий продукт, який є сучасним діалектом мови програмування Basic, створений на початку 60-х років.

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

Макроси багатьох додатків значно змінюються від продукту до продукту. Це означає, що потрібно було б вивчати декілька різних макромов. Щоб цього уникнути Microsoft почала включати елементи Basic в макромови своїх продуктів. Прикладом може служити макромова для Word for Windows фірми Microsoft.

Для уніфікації макромов в своїх додатках Windows створила спеціальну версію мови Visual Basic, названу Visual Basic for Applications (VBA).

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

Питання: Якщо VBA така могутня мова, то навіщо макрорекордер?

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

Запис макросів.

Повний процес запису макросу складається з 4-х основних кроків:

  1. Завдання стартових умов для макросу.

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

  1. Активізувати запис макросу і привласнити йому ім'я;

  2. Виконати дії, які потрібно записати;

  3. Зупинити запис макросу.

При завданні імені макросу необхідно дотримуватись таких правил:

  1. Ім'я повинне починатися з букви, хоча може включати і цифри. Для розділення слів можна використовувати знак підкреслення _, а не пропуск.

  2. Не всі символи можна використовувати, тому краще використовувати тільки ті, що вказані в п.1.

  3. Не можна використовувати ключові слова VBA, що мають спеціальне значення.

  4. У Excel ім'я макросу може містити до 64 символів, в Word – до 80 символів.

Структура макросу.

Макрос починається з ключового слова Sub, за яким слідує ім'я макросу. Рядок, що містить ключове слово Sub і ім'я макросу, називають рядком оголошення макросу. За ім'ям завжди розміщають порожні круглі дужки. У макрос можна включати коментарі, які не містять інструкцій, що є частиною цього макросу. Рядок коментаря починається з апострофа (‘).

Відразу за оголошенням макросу слідує тіло макросу, яке може включати або не включати рядка коментарів. Кожен рядок макросу складається з одного або більше операторів VBA. Оператор - це послідовність ключових слів і інших символів, які разом складають одну повну інструкцію для VBA. Макрос в VBA складається з одного або декількох операторів.

За тілом макросу слідує рядок, що містить ключові слова End Sub, які повідомляють VBA, що досягнутий кінець макросу.

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

Рядки в макросі мають відступ від лівого краю для наочного виділення тіла макросу і відділення інструкцій.

Макрорекордер при створенні макросу автоматично робить відступи в коді, щоб легко було читати записаний макрос. Зміщувати рядки і необов'язково, але бажано.

На кольоровому моніторі різні частини тексту макросу відображаються різними кольорами:

  • коментарі відображаються зеленим кольором;

  • ключові слова – синім;

  • решта тексту – чорним кольором для вказівки на те, що він містить даних і даних і програмних операторів.

  • якщо в рядку є синтаксичні помилки, то вона виділиться червоним кольором.

Для збереження змін треба використовувати команду ФайлЗберегти або клацнути по відповідній кнопці на ПІ. Будь-які зміни також зберігаються кожного разу, коли зберігається документ або файл робочої книги.

Редактор VBA має декілька можливостей, що допомагають в написанні процедур:

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

б) Редактор VBA включає можливість, відому як Auto Quick Info (короткі відомості). Як тільки ви введете оператора (наприклад, MsgBox) і натиснете пропуск, з'явиться спливаюче вікно, в якому буде повний список аргументів для вбудованої процедури або функції. Аргумент, значення якого, як очікується, ви повинні ввести, виділений напівжирним шрифтом. Спливаюче вікно закривається, якщо натиснути клавішу Enter для початку нового рядка. Вікно можна закрити, натиснувши на клавішу Ecs.

Запишемо приклад простого макросу, якому дамо ім'я Приклад, що містить команду подачі звукового сигналу при його виконанні.

Для запису макросу необхідно запустити редактор VBA. Це можна зробити:

а) натисненням клавіш Alt+F11;

б) вкладка Розробник >група Код> кнопка Visual Basic

Sub Приклад () - рядок оголошення макросу

‘ Мій перший макрос - коментар

Beep - інструкція (оператор)

End Sub - кінець процедури

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]