Published using Google Docs
Урок 75 ІКТ 11
Updated automatically every 5 minutes

Урок 75                                                                        Інформатика 11(ІКТ)


Програмуванню можна навчитися , тільки програмуючи !

Поняття об’єкта, метода, властивості, події;  базові елементи VBA: константи (числові, символьні), змінні, типи змінних, вбудовані функції, операції, вирази; структура редактора VBA;  алгоритмічні конструкції (модулі, процедури); створення процедур; структура програми на VBA; розгалуження; цикли; обробка масивів.


Мета.

Навчальна. Ознайомити учнів з поняттям об’єкта, метода, властивості, події;  базові елементи VBA: константи (числові, символьні), змінні, типи змінних, вбудовані функції, операції, вирази; структура редактора VBA;  алгоритмічні конструкції (модулі, процедури); створення процедур; структура програми на VBA; розгалуження; цикли; обробка масивів. 

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

Виховна. Виховувати наполегливість, естетичність у оформленні, грамотно висловлювати свої думки.

Тип уроку. Засвоєння нових знань і навичок.

Матеріали для роботи з учнями:

Робота з макросами в MS Excel

 Створення макросів за допомогою програми MacroRecorder

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

Структура редактора VBA

Синтаксис VBA

Типы данных в VBA

Как написать макрос в Excel

VBA  для чайников

План

  1. Організація початку уроку
  2. Правила ТБ при роботі в кабінеті Інформатики.
  3. Мотивація навчальної діяльності.
  4. Актуалізація опорних знань.
  5. Вивчення нового матеріалу.
  6. Застосування знань.
  7. Підсумки уроку.
  8. Домашнє завдання.

Хід уроку


1. Організація початку уроку.


2. Інструктаж БЖД.


3. Актуалізація опорних знань.


4. Мотивація навчальної діяльності.

Всім нам доводиться - кому рідше, кому частіше - повторювати одні й ті ж дії та операції в Excel. Будь-яка  офісна робота передбачає якусь "рутинну складову" - одні й ті ж щотижневі звіти, одні й ті ж дії по обробці даних, що надійшли, заповнення одноманітних таблиць або бланків і т.д. Використання макросів і функцій користувача дозволяє автоматизувати ці операції, перекладаючи монотонну одноманітну роботу на плечі Excel. Іншою причиною  для використання макросів у вашій роботі може стати необхідність додати в Microsoft Excel відсутні, але потрібні вам функції. Наприклад функцію складання даних з різних листів на один підсумковий лист, рознесення даних назад, висновок суми прописом і т.д.

Макрос - це запрограмована послідовність дій (програма, процедура), записана на мові програмування Visual Basic for Applications (VBA). Ми можемо запускати макрос скільки завгодно разів, змушуючи Excel виконувати послідовність будь-яких потрібних нам дій, які нам не хочеться виконувати вручну.

В принципі, існує безліч мов програмування (Pascal, Fortran, C + +, C #, Java, ASP, PHP ...), але для всіх програм пакета Microsoft Office стандартом є саме вбудована мова VBA. Команди цієї мови розуміє будь офісне застосування, будь то Excel, Word, Outlook або Access.


5. Вивчення нового матеріалу.

Що таке VBA ?

VВА ( Visual Basic for Application - Visual Basic для додатків) - це сучасна мова програмування, підтримуваний всіма додатками пакета версій Microsoft Оffiсе 2003 і вище , до складу якого входять такі популярні програми , як Microsoft Аccess , Microsoft Ехсе1 , Microsoft РоwerРоint , Microsoft Word і ін

VВА - це відносно нескладний мову програмування. Він дуже простий і зручний в освоєнні і дозволяє швидко отримати досить значущі і, головне , наочні результати - конструювати якісні програми для вирішення багатьох завдань у середовищі Microsoft Windows. У відомому сенсі , VBA - прямий спадкоємець популярного мови програмування Basic , але , в порівнянні з ним значно досконаліший і що володіє абсолютно новими якостями.

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

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

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

Основні поняття і елементи мови VBA: об'єкти, властивості, методи, події, класи об'єктів

Оскільки мова VBA відноситься до категорії об'єктно- орієнтований -них , то основними поняттями в ньому є об'єкти , властивості, методи , події і класи.

Об'єкти

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

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

Об'єкт - це готова програмна конструкція інтерфейсу "людина - комп'ютер" , яка наділена сукупністю властивостей (параметрів) і методів їх обробки.

Інакше кажучи, об'єкти - це ті "блоки" , з яких будується будинок конкретного додатка , що працює під управлінням операційної системи з сімейства Windows.

Але можна дати і більш строге визначення .

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

Під терміном "інкапсуляція" ( суто внутрішня приналежність ) мається на увазі що характеристики ( властивості), приписані об'єкту, недоступні впливів на них із зовнішнього середовища. Але разом з тим сам об'єкт повинен і може надати для цього свої , строго обмежені , спеціальні функції - методи .

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

Всі програмні продукти MS Office мають своїми стандартними наборами об'єктів. Так , в Excel це - осередки , робочі листи , вбудовані функції і методи аналізу , в Access - таблиці даних, форми , запити , програма " Будівник виразів " і т.д. Всі вони реалізовані і можуть бути прочитані або змінені в середовищі VBA.

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

Властивості і методи об'єкта. події

Будь-який об'єкт завжди має унікальне ім'я , за допомогою якого завжди можна звернутися до об'єкту, не сплутавши його з іншими.

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

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

Якщо ми хочемо програмно надати об'єкту значення певної властивості , то потрібно суворо дотримуватися такий спосіб запису ( синтаксис ) :

Імя_об'екта . Імя_свойства = Значеніе_свойства

Правильні і строго певні зміни властивостей можливі тільки під впливом відповідних методів , властивих даному об'єкту .

Метод - команда або набір команд ( підпрограма ), призначених для цілеспрямованих змін властивості або властивостей об'єкта

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

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

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

Класи об'єктів

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

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

У мові VBA клас зазвичай описується як певний прототип , на основі якого створюється конкретний об'єкт.

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

Інакше кажучи , клас - це сімейство об'єктів, подібних один з одним по перерахованих характеристикам. Тому з точки зору програми інтерес представляє не стільки сам об'єкт , скільки , то , якими властивостями він володіє і які дії можна над ними вчинити .

Схематично зв'язок основних понять об'єктно- орієнтованого програмування можна проілюструвати так :

1.png

Однак , згадаймо розумне вислів: " Програмуванню можна навчитися , тільки програмуючи ! " .

Найлегше осягати нове на прикладах. Тому в наступному розділі перейдемо до їх розгляду . І ми почнемо це з макросів.

Макроси в додатках MS Office

Поняття макроса

Будь-якому користувачеві, який працює з додатками MS Office (Excel , Word , , Access і т. д.) , відомо , що при вирішенні багатьох завдань доводиться виконувати один і той же набір дій , причому , досить часто і завжди в однаковому порядку .

У Microsoft Оffiсе є дуже зручний засіб - замість багаторазового повторення однієї і тієї ж послідовності операцій можна створити макрос.

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

Така програма при кожному її запуску буде виконувати за користувача ту ж потрібну і виконану ним раніше послідовність дій.

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

Для багатьох VВА - додатків ( серед них - програми MS Office ) макроси можна створювати як за допомогою мови Visual Basic for Application , так і за допомогою спеціальних функцій MS Оffiсе , використовуваних для інтерактивної запису макросів . Ці функції дозволяють записувати всі виконувані користувачем дії при його роботі з додатком до тих пір , поки не буде подана команда про припинення запису.

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

Незалежно від того , чи йде робота в Word , Ехсеl, Ассess або РоwегРоint , створення нового макросу здійснюється одним і тим же способом.

Спільним для цього способу є те , що ім'я макросу можна давати , лише чітко дотримуючись таких правил :

ПРИМІТКА 2: якщо потрібно призначити ім'я, що складається з декількох частин (слів) , найкраще розділяти ці частини знаком підкреслення "_" або використовувати всередині імені заголовні букви , наприклад , ІмяНашегоМакроса .

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

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

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


Приклад.

Припустимо , що в робочій книзі ( РК) Excel треба автоматизувати підготовку введення даних з комерційних і державним банкам міста Казані. Під цим будемо розуміти виконання таких дій :

Пропонується такий порядок дій в Excel :

1 ) встановити курсор в початкову клітинку В3 ;

2 ) виконати одну з ланцюжків :

- Сервіс - Макроси - Почати запис ( в Excel 2003 ) ;

- Вкладка Вид - група Макроси - Запис макросу ( в Excel 2007 )

Рис. 8.1. Стрічка в Excel 2007 з обраної командою Запис макросу

3) на екрані - діалогове вікно Запис макросу (рис. 8.2):

Рис . 8.2 . Діалогове вікно для запису параметрів (імені та місцезнаходження ) нового макросу

4) у панелі "Ім'я макросу" потрібно ввести його майбутнє унікальне ім'я НазваніяБанковКазані;

5) у панелі " Зберегти в " залишити значення "Ця книга " , задане за умовчанням; це забезпечить доступ до макросу тільки з даної РК;

6 ) у цьому ж вікні користувачу пропонується використовувати поле " Поєднання клавіш " , в якому можна вказати бажану комбінацію клавіш для швидкого виклику даного макросу (поєднання клавіш < Сtrl + клавіша > ) . Це стане в нагоді в тому випадку , якщо буде потрібно часто використовувати записуваний макрос.

У В А Г А! Допускається використання сполучень CTRL + буква ( для малих літер ) або CTRL + SHIFT + буква ( для прописних літер) , де буква - будь-яка буквена клавіша на клавіатурі.

Неможна використовувати поєднання клавіш з цифрами і спеціальними знаками , такими як @ або # .

ПРИМІТКА 3: у вікні "Запис макросу" є ще необов'язкове поле "Опис" . У нього можна записати довільний текст , тобто коментар про те , для чого призначений даний макрос. За замовчуванням VBA заповнює це вікно інформацією про те , де і ким був створений даний макрос ( дата запису макросу і ім'я користувача) .

7 ) Коли всі дії у вікні «Запис макросу » будуть закінчені , можна натиснути ОК.

8 ) Excel переходить в режим запису макросу. З цього моменту треба бути особливо акуратними - адже запис макросу вже включена і будуть фіксуватися всі наші дії , в тому числі і невірні ! Послідовно проводимо всі задані нами дії . Коли всі вони будуть виконані і курсор буде встановлений в комірку В5 , зупинимо запис , виконавши ланцюжок дій :

вкладка Вид - група Макроси - Зупинити запис ( в Excel 2007).

ПРИМІТКА 4: крім команд «Почати запис» та « Зупинити запис » в спадному меню групи Макроси є ще параметр « Відносні посилання ».

Якщо його використовувати , то всі дії в макросі будуть записуватися щодо тієї комірки, в якій в момент виконання макросу знаходиться курсор. Наприклад , перед записом макросу , що переміщує курсор на 8 кроків з осередку A1 в клітинку A8 , була активна комірка А1. Якщо даний параметр був включений перед записом макросу , то при його запуску з осередку F1 він перемістить курсор на ті ж 8 кроків , але вже в осередок F8 ! Якщо ж параметр був відключений , то звідки б не запускався макрос , курсор завжди перейде в А1.

Запуск макросу на виконання

Коли макрос записаний, його можна запустити на виконання.

Для цього спочатку потрібно відкрити ту РК, в якій він збережений .

2 ) Якщо це вже зроблено , виконуємо ланцюжок :

вкладка Вид - група Макроси - Макроси ( в Excel 2007).

3 ) на екран виводиться діалогове вікно Макрос (рис. 8.3) :

Рис. 8.3. Вікно вибору макросів для виконання

3) вибираємо в панелі "ім'я макросу" назву потрібного нам макросу НазваніяБанков Казані і натискаємо кнопку Виконати.

Якщо все було зроблено правильно, на робочому листі РК з'явиться потрібна інформація (рис. 8.4):

АкБарсБанк

Рис . 8.4 . Результат виконання макросу НазваніяБанковКазані

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

Код (текст) програми макросу і пояснення до нього

А тепер подивимося , як виглядає вихідний текст (код) макросу НазвиБанківКазані :

Sub НазвиБанківКазані () ' початок програми -процедури

' Апостроф - це початок коментаря , тобто пояснення до тексту

' НазвиБанківКазані Макрос

' Макрос записаний 19.04.2009 ( MINI_CORP )

'

Range ( " B3" ) . Select ' спочатку обрана й активована кдітинка В3

ActiveCell.FormulaR1C1 = " ІнтехБанк " 'текст " ІнтехБанк " розміщений в активній клітинці В3

Range ( " C3 " ) . Select

ActiveCell.FormulaR1C1 = " УрсаБанк "

Range ( " D3 " ) . Select

ActiveCell.FormulaR1C1 = " АкбарсБанк "

Range ( " E3 " ) . Select

ActiveCell.FormulaR1C1 = " СберБанк "

Range ( "F3" ) . Select

ActiveCell.FormulaR1C1 = " Енергобанк"

Range ( " G3 " ) . Select

ActiveCell.FormulaR1C1 = " СпуртБанк "

запрограмовані аналогічні дії для клітин C3 - G3

Columns ( "B : G" ). Select ' вибрані стовпці від B до G

Columns ( "B : G" ) . EntireColumn.AutoFit ' автободбор ширини стовпців

Range ( " B3 , C3 , D3 , E3 , F3 , G3 " ) . Select ' активізовані клітинки від В3 до G3

Range ( " G3 " ) . Activate ' активна комірка G3 і в ній зупинився курсор

Selection.Borders ( xlDiagonalDown ) . LineStyle = xlNone

Selection.Borders ( xlDiagonalUp ) . LineStyle = xlNone

'В останніх двох операторах об'єктам і властивостями обрамлення

" діагональ зверху вниз" і " діагональ знизу вгору" задане значення " ні"

With Selection.Borders ( xlEdgeLeft )

. LineStyle = xlContinuous

. Weight = xlMedium

. ColorIndex = xlAutomatic

End With

With Selection.Borders ( xlEdgeTop )

. LineStyle = xlContinuous

. Weight = xlMedium

. ColorIndex = xlAutomatic

End With

With Selection.Borders ( xlEdgeBottom )

. LineStyle = xlContinuous

. Weight = xlMedium

. ColorIndex = xlAutomatic

End With

With Selection.Borders ( xlEdgeRight )

. LineStyle = xlContinuous

. Weight = xlMedium

. ColorIndex = xlAutomatic

End With

запрограмованідії з рамками

Selection.Font.Bold = True ' вибрано шрифт Bold - напівжирний

Selection.Font.Italic = True ' вибрано шрифт Italic - курсив

Columns ( "B : G" ) . Select ' виділені стовпці від В до G

Columns ( "B : G" ) . EntireColumn.AutoFit ' включена команда автодобору ширини активних стовпців

Range ( " B4 " ) . Select

ActiveCell.FormulaR1C1 = " 1 "

Range ( " C4 " ) . Select

ActiveCell.FormulaR1C1 = " 2 "

Range ( " D4 " ) . Select

ActiveCell.FormulaR1C1 = " 3 "

Range ( " E4 " ) . Select

ActiveCell.FormulaR1C1 = " 4 "

Range ( " F4 " ) . Select

ActiveCell.FormulaR1C1 = " 5 "

Range ( " G4 " ) . Select

ActiveCell.FormulaR1C1 = " 6 "

Запрограмовано послідовне розміщення номерів граф від 1 до 6

Range ( " B4 , C4 , D4 , E4 , F4 , G4 " ) . Select

Range ( " G4 " ) . Activate

Selection.Borders ( xlDiagonalDown ) . LineStyle = xlNone

Selection.Borders ( xlDiagonalUp ) . LineStyle = xlNone

With Selection.Borders ( xlEdgeLeft )

. LineStyle = xlContinuous

. Weight = xlThin

. ColorIndex = xlAutomatic

End With

With Selection.Borders ( xlEdgeTop )

. LineStyle = xlContinuous

. Weight = xlThin

. ColorIndex = xlAutomatic

End With

With Selection.Borders ( xlEdgeBottom )

. LineStyle = xlContinuous

. Weight = xlThin

. ColorIndex = xlAutomatic

End With

With Selection.Borders ( xlEdgeRight )

. LineStyle = xlContinuous

. Weight = xlThin

. ColorIndex = xlAutomatic

End With

знову запрограмовані   дії з рамками

With Selection ' для обраного -

. HorizontalAlignment = xlCenter ' горизонтальне вирівнювання вмісту по центру

. VerticalAlignment = xlBottom ' вертикальне вирівнювання - вниз

. WrapText = False ' заборонений перехід на наступний рядок

. Orientation = 0

. AddIndent = False

. IndentLevel = 0

. ShrinkToFit = False

. ReadingOrder = xlContext

. MergeCells = False

End With

Range ( " B5 " ) . Select ' На закінчення активізована комірка В5

End Sub

Рис . 8.5 . Оригінальний текст (код) макросу.

Початок і кінець коду макросу спеціально виділені автором більш великим шрифтом.

Крім того , в текст програми спеціально внесені деякі пояснення у вигляді коментарів до окремих операторам , оформлення курсивом.

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

Коригування макросів

При записи макросу в будь-якому з обраних додатків (в Microsoft Word , Ехсе1 або РоwегРоiпt ) дії , виконані під час запису , будуть зафіксовані у вигляді послідовності відповідних операторів мови VВА . Вся сукупність цих операторів буде називатися вихідним кодом , або кодом макросу. Отриманий у такий спосіб код надалі можна буде використовувати при створенні власної програми . Причому в цій програмі можна буде як коригувати вже наявні , так і , при необхідності , додавати нові оператори . Отримати доступ до вихідного тексту макросу , переглянути або відредагувати його можна двома способами.

Спосіб 1 . Викликати вікно « Макроси » (див. рис. 8.3) , виконавши ланцюжок дій : вкладка Вид - група Макроси - Макроси ( в Excel 2007 ) , потім вибрати зі списку потрібний макрос і натиснути у вікні кнопку Увійти або Редагувати.

Спосіб 2 . На вкладці Разработчік2 в групі Код кнопкою Visual Basic включити редактор Visual Basic .

В обох випадках на екрані з'явиться вікно цього редактора (рис. 8.6 ) :

з програмним кодом обраного макросу , готовим для редагування. У цьому вікні можна додавати , видаляти , копіювати , змінювати , вирізати або вставляти будь оператори на мові VBA , користуючись командами меню Edit. Для збереження програмного коду відредагованого макросу виберіть команду меню File => Save Імя_Документа (Файл => Зберегти в ... ) редактора VBA або клацніть на кнопці Save Імя_Документа (Зберегти в ... ) панелі інструментів Edit.

Якщо ж був створений об'єкт « Кнопка » , то найлегший і природний спосіб - розкрити вихідний текст прямо з робочого листа РК Excel , на якому і відбувалася запис макросу. Для цього на вкладці Розробник треба спочатку включити режим Конструктор у групі Елементи керування . Потім , виділивши кнопку , викликати контекстне меню і вибрати там пункт «Вихідний текст» . На екрані - вікно редактора Visual Basic з вихідним текстом макросу , приписаного до даної кнопці .


Простий приклад складання і запису програми .

Почнемо з дуже простого прикладу: потрібно задати колір фону для будь-якої активної клітинки на аркуші Лист2 робочої книги Excel.

Спробуємо зробити це , скориставшись середовищем редактора VBA. Знову включимо редактор Visual Basic на вкладці Розробник .

Відкривається вікно редактора:

Рис. 8.7. Порожнє вікно редактора Visual Basic

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

Рис . 8.8 . Вікно Code для введення тексту програми ( коду ) .

Цей текст з попутними поясненнями виглядає так:

Sub PaintCell () ' Заголовок процедури " Колір клітинки"

Dim n As Integer ' змінна n (код кольору) представлена ​​як целочисленная

n = ( InputBox ("Введіть код кольору : " )) ' команда запиту введення коду кольору

ActiveCell.Interior.ColorIndex = n ' введений код n задає нове значення властивості

кольори активної комірки .

'Тут ActiveCell - об'єкт , активна комірка ,

Interior.ColorIndex - " двоступенева " властивість , задає колір об'єкта ActiveCell

End Sub () ' Кінець процедури " Колір осередку"

Рис . 8.9 . Текст (код) макросу для зміни кольору активної комірки

ПРИМІТКА 5: тут напівжирний шрифт - оператори та властивості , курсив - пояснення до них . Додамо : Paint - колір , Cell - осередок , Dim ( Dimension ) - надати (розміри) , Active - активізація об'єкта , ColorIndex - числове позначення (шифр , код ) кольору в середовищі VBA.

Розмістимо текст цієї крихітної програми у вікні Code , а потім натиснемо клавішу запуску програми на виконання F5 (або виконаємо Run - Run Sub / UserForm ) .

Рис . 8.10. Вікно запиту на введення коду кольору ( значення коду - від 0 до 56 )

Якщо до введення коду програми був активний Лист2 і будь-яка осередок на ньому , то в площі листа з'явиться вікно запиту (рис. 8.9 ) :

Якщо ми тепер введемо тут число 6 , то активна комірка отримає ЖОВТИЙ колір фону , якщо 8 , то - СМАРАГДОВИЙ , якщо 0 , то - БІЛИЙ , якщо 1 , то - ЧОРНИЙ і т. д.

Щоб переконатися в цьому , введіть вищевказаний вихідний текст у вікно Code редактора Visual Basic і потім виконайте цю програмку.

Хоча ця програма і проста, але вона вже має істотний недолік: в ній описується послідовний алгоритм і тому він виконується всього 1 раз. Щоб перепробувати кілька варіантів фарбування осередку , її кожен раз треба запускати заново. Для автоматичного повторення вибору цих варіантів потрібно перетворити її на циклічну програму.

Змінимо її , застосувавши один з варіантів циклу. Найбільш підходить для цього оператор з передумовою : While <умова > ... Wend . Він не обмежує число повторів циклу і , разом з тим , дозволяє перервати їх у будь-який момент , якщо правильно записати < умова> .

Оскільки відомо , що коди квітів займають закритий інтервал [ 1-56 ] , то введемо в розгляд змінну КодЦвета , будемо надавати їй різні значення і перевіряти їх за умовою : КодЦвета > = 0 і одночасно КодЦвета <= 56 .

Змінена програма прийме вигляд:

Sub PaintCell ( )

Dim n As Integer

n = 0

While КодЦвета > = 0 and КодЦвета <= 56

n = ( InputBox ("Введіть код кольору : " ))

ActiveCell.Interior.ColorIndex = n

Wend

MsgBox ( "До побачення . Робота закінчена !")

End Sub ' Кінець процедури " Колір осередку"

Рис . 8.11. Текст (код) макросу циклу зміни кольору активної комірки

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

Тоді замість запит введення коду кольору вона видасть у вікні повідомлення користувачу MsgBox фразу "До побачення . Робота закінчена ! "

Збереження макросів у вигляді модулів

Текстове представлення операторів на мові VBA , що міститься у вихідному коді макросу , зберігається в спеціальній частині файлу даних програми , званої модулем. Файл документа відповідного типу будь-якого з VBA - додатків може містити один або декілька модулів або не містити їх взагалі. Модулям , що зберігаються для документах Excel , за замовчуванням присвоюється загальну назву - VBAРгоject (VBA - проект).

При записи макросу в Ехсе1 у вікні " Запис макросу" потрібно вказати робочу книгу ( формату. Xlsm або . Хlsb ) , в якій буде збережений записаний макрос (рис. 8.2) . Для цього в списку Зберегти в слід вибрати одне з доступних значень , визначальне той документ , в якому буде збережений записаний макрос : " Особиста книга макросів ", "Нова книга " і "Ця книга " . Макроси , що мають безпосереднє відношення до поточної робочої книзі , рекомендується зберігати , вибравши в списку значення "Ця книга " . Після того як місце зберігання макросу буде вибрано , клацніть на кнопці ОК .

Якщо в документі , обраному для зберігання записуваного макросу , ще немає модуля , він буде створений з ім'ям Module1 .

Для того щоб знайти модуль з цікавлять вас макросом в будь-якому з додатків VВА , необхідно виконати наступні дії .

Відкрити редактор VВА , вибравши на стрічці додатки вкладку Розробник і клацнувши в групі Код на кнопці Visual Basic (крайня ліворуч) .

Відкрити вікно проектів , вибравши у вікні редактора VВА команду меню View → Ргоjесt Ехрlогег ( Вид = > Вікно проекту).

У вікні Project Ехр1огег знайти в ієрархії компонентів ім'я необхідного модуля і двічі клацнути на ньому.

Після виконання зазначених дій редактор VBA відкриє вікно коду з текстом обраного модуля . У списку Declaration ( Оголошення ) цього вікна ( справа вгорі ) виберіть ім'я необхідного макросу у відкритому модулі , після чого в даному вікні можна буде переглянути або відредагувати вихідний код цього макросу.

ПРИМІТКА 6 : при записі макросів в додатках Microsoft Office 2007 їх текст записується у вигляді послідовності операторів мови VВА . Таким чином , можна використовувати ці кошти для створення заготовок елементів програм , які належить написати на мові VВА . Замість того , щоб вручну програмно описувати деяку послідовність дій в тому чи іншому додатку Оffice , можна просто записати відповідний макрос , а потім скопіювати його код в текст створюваної програми .


6. Тест до уроку

  1. Мова VBA являє собою ...

а ) самостійне додаток роботи з даними ,

б) об'єктно- орієнтована мова програмування ,

в) процедурний мову програмування ,

г) інструмент обробки даних в додатках Microsoft Оffiсе .

  1. Редактор Visual Basic являє собою ...

а ) інтегровану візуальне середовище розробки ,

б) самостійний додаток Microsoft Оffiсе ,

в ) самостійне додаток Microsoft Windows ,

г) транслятор з мови Visual Basic .

  1. Макрос в мові VВА - це ...

а ) самостійна програма Microsoft Оffiсе ,

б) засіб управління роботою додатків Microsoft Оffiсе ,

в) пойменована запис послідовності дій користувача для спрощення її багаторазового повторення ,

г) фрагмент документа додатки Microsoft Оffiсе .

  1. Код макросу на мові VВА зберігається:

а ) в тілі документа додатки Microsoft Оffiсе ,

б) в шаблоні документа Microsoft Оffiсе ,

в) в окремому файлі з розширенням . vba ,

г) в системних бібліотеках.

  1. Основними поняттями об'єктно- орієнтованого програмування є ...

а ) процедури і функції ,

б) об'єкти й події ,

в) константи і змінні ,

г) властивості і методи ,

д) класи .

  1. Які програмні елементи не відносяться до VBA ?

а ) об'єкти ,

б) методи ,

в) процедури ,

г ) властивості .

  1. Готовий програмний елемент інтерфейсу «людина -комп'ютер » має сукупність властивостей і методів , це ...

а ) подія ,

б) об'єкт ,

в) клас об'єктів ,

г) інкапсуляція .

  1. Властивості характеризують ...

а ) поточний стан об'єкта ,

б) можливий стан об'єкта ,

в) схожість з іншим об'єктом ,

г) унікальність об'єкта.

  1. Об'єктом VBA не може бути ...

а ) вікно ,

б) інформація, що вводиться ,

в) кнопка ,

г) прапорець .

  1. Метод - це ...

а ) відповідь VBA на дії користувача ,

б) підпрограма для зміни властивостей об'єкта ,

в) засіб для зміни події ,

г) опис властивостей об'єкта.

  1. Класи об'єктів ...

а ) впорядковують об'єкти по їх важливості ,

б) об'єднують різні за призначенням об'єкти ,

в ) описують подібні властивості різних за призначенням об'єктів ,

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

  1. Макрос - це ...

а ) вікно ,

б) екранна форма ,

в) набір автоматично зафіксованих і однаково виконуваних операцій ,

г) набір властивостей об'єкта.

  1. Ім'я макросу не повинно містити ...

а ) літери ,

б) букви і цифри ,

в) знак підкреслення ,

г) прогалини .

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

а ) довжину його імені ,

б) ім'я макросу ,

в) вказівки на місце його збереження ,

г) опис макросу.

  1. Вкажіть порядок дій при створенні макросу :

а ) ввести ім'я макросу ,

б) включати команди почала його записи ,

в) вказати місце його збереження ,

г ) включити команду кінця його записи .

  1. Включення параметра « Відносні посилання » застосовується

а ) для автоматичного переходу в комірку , з якою повинен виконуватися макрос ,

б) для виконання макросу з поточної комірки ,

в) для виконання макросу з довільною осередку ,

г) для повного опис макросу.

  1. Активізація осередки для роботи з нею здійснюється за командою

а ) Range ("ім'я осередку" ) . Select ,

б) ActiveCell ,

в) Selection.Borders ( ) ,

г) Selection.Font.Bold

  1. Вибір потрібного шрифту для даних, що вводяться відбувається по команді

а ) Range ("ім'я осередку" ) . Select ,

б) ActiveCell ,

в) Selection.Borders ( ) ,

г) Selection.Font.Bold .

  1. Виділення потрібного стовпця (ів) для роботи в ньому ( них ) відбувається по команді

а ) Range ("ім'я осередку" ) . Select ,

б) Column ( ) . Select ,

в) Selection.Borders ( ) ,

г) Selection.Font.Bold .

  1. Призначення потрібного стилю рамки для активного осередку відбувається по команді

а ) Range ("ім'я осередку" ) . Select ,

б) ActiveCell ,

в) With Selection.Borders ( ) ,

г) Selection.Font.Bold .

  1. Працюючи в Excel не можна зберегти макрос у вигляді модуля

а ) в особистому книзі макросів ,

б) в цій (поточної) книзі ,

в) у новій книзі ,

г) в оперативній пам'яті ПК.


7. Самостійна робота

  1. Створіть макрос, який на поточному аркуші електронної кни­ги для всіх клітинок, де задано загальний формат, встанов­люватиме грошовий формат.
  2. Створіть макрос, який у поточній клітинці обчислюватиме суму значень, записаних у всіх інших клітинках аркуша електронної книги.

8. Підсумк уроку

  1. Що таке макрос? Для чого його використовують?
  2. Назвіть, які існують способи створення макросу в Word 2007.
  3. Опишіть алгоритм запису макросу.
  4. Для виконання яких операцій дозволяється використовувати маніпуля­тор миша під час запису макросів?
  5. Як переглянути список макросів, створених користувачами, які можна застосувати під час опрацювання документа?

9. Домашнє завдання

  1. Вивчити конспект.
  2. Виконати завдання c.p.
  3. Підготуватися до тестування.