Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теор довідка до ПР VBA _Office 2010.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.58 Mб
Скачать

Теоретична довідка до Практичної роботи №23

VBA — це мова програмування, вбудована в багатьох окремих програмах та прикладних пакетах — від додатків Microsoft Office (включаючи Microsoft Project та Microsoft Visio) і до таких потужних пакетів, як AutoCAD, CorelDraw та Adobe Creative Suite, не говорячи вже про численні спеціалізовані додатки, призначені для управління виробничими процесами, обліку фінансовими ресурсами чи інформаційної підтримки клієнтів.

VBA містить інтегроване середовище, що містить набір вікон для спрощення проектування, відладки та тестування програм. Інтегроване середовище називається редактор Visual Basic. Цей редактор встановлений у додатках за замовчуванням, але у Office 2010 його потрібно включити у стрічку.

Всі додатки Office 2010 використовують стрічку. Однією із вкладинок на стрічці є вкладинка Разработчик, на якій можно викликати редактор Visual Basic та інші інструменти розробника. Оскільки в Office 2010 вкладинка Разработчик не показана за замовчуванням, то необхідно вивести її на екран, виконавши наступну процедуру.

На вкладниці Файл вибрати Параметры і відкрити діалогове вікно Параметры. Клацнути Настройка ленты в лівій частині діалогового вікна. У розділі Выбрать команды из, розміщеному зліва у вікні, вибрати Популярные команды. У розділі Настройка ленты, який знаходиться з права у діалоговому вікні, вибрати Основные вкладки у списку, що розкривається, а потім встановити прапорець Разработчик та натиснути кнопку ОК.

Після включення у стрічку вкладинки Разработчик можна легко знайти кнопки Visual Basic та Макросы.

Рисунок 1. Кнопки на вкладинці "Разработчик"

При розв’язуванні багатьох задач часто виконують одну і ту ж послідовність операцій. Але в Microsoft Office 2010 замість багаторазового повторення однієї і тієї ж послідовності дій можна написати макрос (Macro), який буде автоматично виконувати потрібну послідовність дій багаторазово. Для багатьох VBA-додатків— серед яких Microsoft Word, Excel, Assess, PowerPoint і т.д. — макроси можна створювати як за допомогою мови Visual Basic for Application, так і за допомогою спеціальних функцій Microsoft Office 2010, що використовуються для інтерактивного запису макросів (найпростіший спосіб за допомогою засобу MacroRecorder).

Щоб записати макрос за допомогою спеціального засобу MacroRecorder, наприклад у середовищі Microsoft Excel 2010, треба на стрічці вибрати вкладинку Вид (клацнути на ній лівою кнопкою мишки). Потім у групі Макросы клацнути на кнопці Макросы і вибрати команду Запись макроса — як показано на рис.1.

Рис. 1. Стрічка додатку Microsoft Excel 2010 з відкритою вкладинкою Вид, на якій у групі Макроси вибрано команду меню Запись макроса

У результаті цих дій на екрані розкриється діалогове вікно Запись макроса (рис.2).

Рис. 2. Діалогове вікно Запись макроса в Microsoft Excel 2010

Діалогове вікно Запись макроса в різних додатках Microsoft Office 2010 — Word, Excel чи PowerPoint — має різний вид, але правила запису нового макросу для всіх додатків одинакові, а саме:

■ ім’я макроса починається з букви, але всередині може містити цифри та символ підкреслення;

■ ім’я макроса не може містити пропуски чи спеціальні символи;

■ максимальна довжина імені макроса 80 символів.

Наприклад, Підсумок_по_рядках, ПідсумокПоРядках.

В залежності від додатку, в якому створюють макрос (редактор Visual Basic, Word, Excel), діалогове вікно Запись макроса може містити різні поля та опції — наприклад, поле опису макроса, поле для визначення місця зберігання тексту макроса, призначену макросу комбинацію клавіш для його виклику і т.д.

Як видно з рис. 2, у діалоговому вікні Запись макроса у додатку Excel 2010 є поле Сочетание клавиш, у якому можна вказати бажану комбінацію клавіш, яка буде використовуватися для швидкого запуску даного макроса (комбінація клавіш <Ctrl+клавіша>).

У додатку Word у діалоговому вікні Запись макроса (рис.3), на відміну від Excel, у групі Назначить макрос є ще дві додаткові кнопки: кнопке і клавишам. Ці кнопки дозволяють або присвоїти функцію виклику макроса новій кнопці на панелі інструментів, або призначити для нього деяку комбінацію клавіш швидкого виклику. Після клацання на будь-якій з цих кнопок розкриється ще одне діалогове вікно, у якому необхідно буде виконати відповідні призначення.

Рис. 3. Діалогове вікно Запись макроса у Microsoft Word 2010

У всіх додатках Microsoft Office у діалоговому вікні Запись макроса є і деякі спільні елементи:

■ Поле Имя макроса — тут вказують ім’я нового макроса. За замовчуванням VBA вказує в це поле значення Макрос1.

■ Поле Описание — тут записують текст-коментар про призначення данного макроса. За замовчуванням VBA заповнює це поле інформацією про те, де і ким був створений даний макрос (дата запису макроса та ім’я користувача).

■ Список Макрос доступен для — містить перелік тих документів, в яких даний макрос може бути збереженим; слід вибрати зі списку документ, у якому буде збережено новий макрос. У Word 2010 макроси можуть зберігатися тільки у файлах документа формату.docm або у файлах шаблонів документів формату .dotm. Кріме того, макрос можна зберігати у документі або шаблоні формату Word 97-2003 (.doc або .dot). У Excel 2010 макроси можна зберігати у робочій книзі формату .xlsm або .xlsb, у шаблоні формату .xltm, а також у документах формату Excel 97-2003 (.xls).

Для початку запису треба клацнути на кнопці ОК у діалоговому вікні Запись макроса. Після цього у вікні додатку з’явиться покажчик мишки з невеличким зображенням магнітофонної касети. Починаючи з цього моменту, всі дії будуть записані і вміщені до макросу.

По закінченню виконання потрібних дій перейти на стрічці на вкладнику Вид, розкрити у групі Макроси меню та вибрати у ньому команду Остановить запись. Тепер запис макроса буде зупинено а всю послідовність команд буде збережено у вигляді VBА-програми, записаної як макрос з вказаним іменем в даному документі. ( При необхідності процес запису макроса можна призупинити, вибравши у групі Макроси вказівку Пауза).

Приклад 1. Запис макросу, який впише шість назв місяців у верхній рядок робочого аркуша, починаючи з клітинки В1, використовуючи засіб MacroRecorder:

1) Вибрати чистий аркуш з виділеною за замовчуванням клітинкою А1.

2) Вибрати на стрічці додатку вкладинку Вид і у групі Макроси вибрати вказівку Запись макроса.

3) У діалоговому вікні Запись макроса ввести ім’я, що буде присвоєно новому макросу, — Півріччя1. У полі Сочетание клавиш ввести символ ф, тоді в подальшому натиснення комбінації клавіш <Ctrl+ф> буде викликати запуск даного макросу.

4) У полі Сохранить в вибрати значення Эта книга для збереження створеного макроса у активній книзі.

5) Після заповнення всіх полів у діалоговому вікні Запись макроса клацнути на кнопці ОК. Це початок процесу запису.

6) Клацнути на клітинці В1 та ввести в шість сусідніх клітинок назви місяців, як показано на рис.4.:

Рис. 4. Введення значень у клітинки при створенні макросу

7) Тепер відформатувати введені значення. Виділити клітинки B1:G1, перейти на стрічці на вкладнику Главная і у групі Шрифт клацнути на кнопках і . Потім клацнути на клітинці В2 і зупинити запис макросу, для цього відкрити на стрічці вкладинку Вид і вибрати у групі Макроси команду Остановить запись.

8) Зберегти книгу під іменем Книга1.xlsm.

9) Виконати створений макрос.

Приклад 2. Створення макросу, що здійснює зміну кольору фону документа MS Word відповідно до введених значень кольорів:

1) Запустити Microsoft Word;

2) Створити новий пустий документ;

3) клацнути вкладинку Разработчик на стрічці;

4) натиснути кнопку Mакросы і вибрати в полі Макросы из Normal.dotm (общего шаблона);

5) ввести ім’я ChangeColor і натиснути кнопку Создать.

В редакторі Visual Basic з’явиться наступний фрагмент коду:

Sub ChangeColor()

'

' ChangeColor Макрос

''

End Sub

6) Змінити код, щоб він мав такий вид:

Sub ChangeColor()

'

' ChangeColor Макрос

'

Dim intRed As Integer

Dim intGreen As Integer

Dim intBlue As Integer

intRed = InputBox("Значення червоного? (0-255)")

intGreen = InputBox("Значення зеленого? (0-255)")

intBlue = InputBox("Значення синього? (0-255)")

ActiveWindow.View = wdWebView

With ActiveDocument.Background.Fill

.Visible = msoTrue

.ForeColor.RGB = RGB(intRed, intGreen, intBlue)

End With

MsgBox "Колір фону документа тепер RGB(" & intRed & ", " & intGreen & ", " & intBlue & ")."

End Sub

7) В меню View (Вид) вибрати команду Microsoft Word;

8) Ввести в документі деякий текст, щоб бачити різницю між кольором фону і текстом;

9) Виконати макрос ChangeColor;

10) У діалоговому вікні тричі ввести ціле число в діапазоні від 0 до 255 (для значень червоного, зеленого і синього), кожного разу натискуючи кнопку ОК.

Колір фону документа змінюється відповідно комбінації значень «червоний-зелений-синій» (RGB), введених на попередньому кроці.

Приклад 3. Зміна кольору тексту документа Microsoft Word відповідно до введених значень кольорів.

1) клацнути вкладинку Разработчик на стрічці;

2) натиснути кнопку Mакроси, виділити ім’я ChangeColor і натиснути кнопку Изменить.

В редакторі Visual Basic з’явиться фрагмент коду з попереднього Прикладу:

3) Змінити код, щоб він набув такого виду:

Sub ChangeColor()

'

' ChangeColor Макрос

'

Dim intRed As Integer

Dim intGreen As Integer

Dim intBlue As Integer

intRed = InputBox("Значення червоного? (0-255)")

intGreen = InputBox("Значення зеленого? (0-255)")

intBlue = InputBox("Значення синього? (0-255)")

ActiveWindow.View = wdWebView

With ActiveDocument

.Select

.Range.Font.Color = RGB(intRed, intGreen, intBlue)

End With

MsgBox "Колір тексту документа тепер RGB(" & intRed & ", " & intGreen & ", " & intBlue & ")."

End Sub

4) Виконати макрос ChangeColor;

5) У діалоговому вікні тричі ввести ціле число в діапазоні від 0 до 255 (для значень червоного, зеленого і синього), кожного разу натискуючи кнопку ОК. Колір тексту документа змінюється відповідно комбінації значень «червоний-зелений-синій» (RGB), введених на попередньому кроці.