Автор работы: Пользователь скрыл имя, 02 Декабря 2013 в 22:42, лабораторная работа
Visual Basic for Application (VBA) – це об’єктно-орієнтована мова програмування високого рівня, що є одним з діалектів дуже популярної мови програмування Visual Basic. За допомогою VBA можна легко й швидко створювати різні програми, навіть не будучи фахівцем в області програмування. VBA – потужний засіб розробки повнофункціональних програм, працюючих у середовищі MS Office. Це сполучення однієї із самих простих мов програмування Basic з спеціальним механізмом, який дозволяє програмам, що написані цією мовою, звертатися до об’єктів всіх базових додатків MS Office – Excel, Word, Power Point, Access та ін.
Використання VBA в Microsoft Excel.
Редактор Visual Basic Application.
Створення макросів.
Мова програмування VBA.
Оголошення змінних. Типи даних.
Використання констант.
Оператор присвоювання. Вирази та операції.
Введення та виведення даних за допомогою вбудованих вікон.
Функції користувача.
Формат оператора:
Dim Ім’яЗмінної1 [As Тип], Ім’яЗмінної2 [As Тип], …
де: Dim – ключове слово, що повідомляє програмі ім’я змінної та резервує область пам’яті для зберігання її значення;
Ім’яЗмінної – ідентифікатор, що визначає припустиме ім’я;
As – ключове слово для визначення типу;
Тип – тип даних для змінної.
При визначенні змінної після уведення ключового слова As з’явиться список-підказка для вибору потрібного типу.
В одному операторі можна одночасно описати кілька змінних, указуючи кожну наступну через кому.
Приклади:
Dim tovar As String ‘ текстова змінна
Dim Cost As Integer ‘ змінна типу ціле число
Dim tovar As String, Cost As Integer
Використання констант
Поряд із змінними, для зберігання інформації в програмі можна використовувати константи. Константа – це величина, яка не змінюється в процесі виконання програми. Існує два різновиди констант: вбудовані й користувальницькі.
Вбудовані константи Vіsual Basіc пропонуються системою й призначені для зберігання найрізноманітнішої інформації: коди “гарячих” клавіш, використовувані кольори й т.д. Всі вони мають префікс vb, наприклад: vbWhіte. Для того щоб уточнити значення тієї або іншої вбудованої константи, а також її назви, варто відкрити вікно Object Browser, у якому можна знайти всю необхідну інформацію. Для цього необхідно або нажати кнопку на стандартній панелі інструментів, або вибрати команду меню Vіew/Object Browser, або нажати клавішу F2. Користуватися вбудованими константами зручно в багатьох випадках з тієї причини, що набагато легше запам’ятати назву константи, наприклад, vbwhіte, чим число 16777215.
Часто виникає необхідність
описувати в програмі власні константи,
які називаються користувальниц
Const константа [As тип] = значення
де: Const – ключове слово, що показує, що здійснюється повідомлення про константи;
константа – ім’я описуваної константи;
As – ключове слово для позначення типу даних константи, що повідомляється;
тип – тип даних для константи, що повідомляється;
значення – значення зазначеного типу, що привласнюється константі.
Нижче наведені приклади оголошення констант різних типів:
Const blnFlag As Boolean = False
Const intMax As Integer = 1024
Const strMessage As String = “Basic”
Const dtmMillennium As Date = #1/01/2001#
За допомогою одного
оператора можна оголосити
Оператор присвоювання. Вирази та операції
Програма складається з операторів. Послідовність операторів утворює процедуру. Оператори складаються із ключових слів і виразів, вони виконують основні операції програми за відповідним алгоритмом. Алгоритм – це точний обчислювальний процес, який веде від початкових даних, що змінюються, до шуканого результату. Як відомо, алгоритми обробки даних за своїм типом поділяються на лінійні, розгалужені, циклічні. В даній лабораторній роботі розглянемо реалізацію лінійних алгоритмів.
Лінійним називається алгоритм, дії якого виконуються послідовно у наперед визначеному порядку. У мовах програмування такому елементу відповідає оператор присвоювання, який у мові VBA має такий формат
<ідентифікатор> = <вираз>
Наприклад: Resultat= 5*Sin(a)-7
Fam = “Гачків”
lntl=6
StrName=Range(“D4”)
x=k+(b-3)
c=a*b+k^2.
Вирази широко використовуються в програмах і являють собою формули для обчислення значення змінних. Вони складаються з операндів (змінних, констант, функцій), з’єднаних знаками операцій (додавання, віднімання, множення і т.д.). Вирази, в яких використовуються арифметичні операції, називаються арифметичними, а якщо використовуються логічні операції або операції порівняння, називаються логічними виразами.
Наприклад: DOL>15 – логічний вираз,
Str*31/100 – арифметичний вираз,
x>=0 And x<=10 – логічний вираз.
Порядок виконання операцій при обчисленні значення виразу визначається пріоритетом і може регулюватися за допомогою круглих дужок. Якщо їх немає, то першими виконуються арифметичні операції, потім – операції порівняння, а останніми – логічні операції. Всі операції порівняння мають однаковий пріоритет і виконуються зліва направо. Пріоритети основних арифметичних операцій VBA наведені в таблиці 2. Чим більший пріоритет операції тим вище вона знаходиться у таблиці.
Таблиця 2
Пріоритети основних операцій VBA
Пріорітет |
Знак операції |
Призначення операції |
Арифметичні операції | ||
1 |
( ) |
Виклик функції |
2 |
^ |
Піднесення до степеня |
3 |
* / |
Множення Ділення дійсних чисел |
4 |
\ |
Ділення цілих чисел (націло) |
5 |
Mod |
Залишок від ділення націло |
6 |
+ - |
Додавання Віднімання |
Логічні операції | ||
1 |
Not |
Заперечення |
2 |
And |
Логічне множення |
3 |
Or |
Логічне додавання |
Операції порівняння (відношення) | ||
Однаковий пріоритет |
> |
Більше |
>= |
Більше або дорівнює | |
< |
Менше | |
<= |
Менше або дорівнює | |
= |
Дорівнює | |
<> |
Не дорівнює |
З простих виразів за допомогою логічних операцій можна будувати складні. Складні вирази, будуть істинними чи хибними залежно від значень простих виразів і логічних операцій, що до них застосовуються. Результатом логічних виразів може бути значення булівського типу – True (Істина або 1) та False (Неправда або 0), що представлені у таблиці 3. Кожне значення займає в пам'яті 2 байта.
Таблиця 3
Таблиця істинності для логічних операцій:
X |
Y |
Not x |
X And Y |
X Ог Y |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 | |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
Приклади:
1. Порівняння 5 > 3 має значення True, a Not (5 > 3) – False.
2. Подвійна математична нерівність а < х < b в інформатиці записується у вигляді
x > a And х < b
3. Позначимо через х висловлення “Задано прізвище робітника”, а через
y – “Задано табельний номер робітника”. Тоді умовою заповнення наряду буде вираз
х Or у, тобто коли задано хоча б один реквізит – прізвище або табельний номер.
4. Значення змінної Z лежить поза межами відрізка [5:20], мовою VBA записується у вигляді Z<5 Or Z>20.
5. Значення змінної Z лежить у межами відрізка [5:20], мовою VBA записується у вигляді Z>5 And Z<20.
В арифметичних виразах
можна використовувати
Таблиця 4
Математичні функції VBA
Запис на Vіsual Basіc |
Математичний запис |
Опис |
Abs (x) |
|x| |
Модуль числа |
Atn (x) |
arctg x |
Арктангенс |
Cos (x) |
cos x |
Косинус |
Exp (x) |
ex |
Експонента |
Fix (x) |
Відкидання дробової частини | |
Int (x) |
Найбільше ціле число, що не перевершує х | |
Round (x, a) |
Округлення числа х з точністю до а десяткових знаків | |
Log (x) |
ln x |
Натуральний логарифм |
Rnd (x) |
Датчик випадкових чисел | |
Sgn (x) |
Залежно від знака числа повертається 1, 0 або -1 | |
Sin (x) |
sin x |
Синус |
Sqr (x) |
Квадратний корінь | |
Tan (x) |
tg x |
Тангенс |
Аргумент у всіх тригонометричних функціях задається в радіанах, а не в градусах. При необхідності перекладу значення, що задане в градусах, у радіани варто використовувати формулу: Радіани = градуси * π/180.
Введення та виведення даних за допомогою вбудованих вікон
Для введення/виведення даних у VBA використовують вбудовані вікна, які викликаються за допомогою двох стандартних функцій, параметри яких задають зовнішній вигляд та функціональні особливості діалогу.
Функція InputBox відображає вікно діалогу, яке дозволяє користувачу вводити у текстовому полі дані. Стандартними елементами такого вікна є керуючі кнопки ОК (підтверджує дії) і Cansel ( відміна дії).
Формат функції: InputBox(“підказка”, [заголовок], [значення])
Результатом виклику функції InputBox є значення, введене користувачем у текстове поле, яке присвоюється відповідній змінній.
Наприклад оператор kurs_dol = InputBox("Курс доларів США", "Обмін валюти") задає діалогове вікно надане на рис. 3. – змінній kurs_dol присвоєтьється число введене з клавіатури, тобто 5,05.
Функція MsgBox дозволяє вивести на екран діалогове вікно, для відображення будь-якої інформації або повідомлення, наприклад шуканого результату.
Формат функції: MsgBox “підказка”, [кнопки], [заголовок]
Вікно виведення результатів не має текстового поля для введення даних і відображається завжди у центрі екрану. Воно може мати декілька керуючих кнопок, за замовчанням задається одна кнопка ОК.
Наприклад функція, яка виводить на екран діалогове вікно надане на рис. 4. така
MsgBox "Сума у Євро =" & CStr(Suma_dol) & ” євро”, ,” обмін валют”
Функції користувача
В Excel існують вбудовані функції, які доступні після інсталяції Excel (математичні, інженерні, фінансові, логічні, статистичні й т.д), і функції користувача розроблені за допомогою вбудованої мови програмування.
Користувач також може створювати свої власні функції і користуватися ними як і стандартними. Такі функції викликаються за допомогою Майстра функцій і поміщаються вони у категорії Определенные пользователем. Функції на відміну від процедур/макросів, неможливо запустити безпосередньо з редактора VBA.
Формат опису функцій:
Function <назва функції>(<список аргументів>)
<тіло функції>
End Function,
де назва функції (її ім‘я) однозначно визначає дану функцію серед усієї множини функцій;
список аргументів функції – це список змінних, які використовуються як вхідні дані для обчислень у функції і задаються при її створенні. Такі аргументи називаються формальними параметрами. Змінні у списку аргументів розділяються комами, наприклад: f(x, y, z). Аргументи, які використовуються при виклику функції називаються фактичними параметрами, наприклад: f(A3,B3,C3).
Тіло функції складається з операторів мови програмування VBA, що реалізують алгоритм обробки даних, втілений у даній функції.
Завдання до лабораторної роботи
Завдання 1. Створити макрос. Необхідно створити макрос з ім’ям “Сума”, що обчислює значення функції W= a + b та перехід на Лист2 у відкритій робочій книзі. Дані вводяться: в діапазон клітинок А2:С2 заголовки стовпців, в клітинки А3 і В3 початкові дані, в клітинку C3 – результат суми значень клітинок А3 і В3 і робить перехід на Лист2.
Для запису макросу виконуємо наступну послідовність дій:
1. Створюємо нову Книга1.xls у папці Модуль 3/Лаб 7 особистої папки. Даємо їй назву Сума.xls.
2. Вибираємо команду меню Сервис/Макрос/Начать запись. Відкриється діалогове вікно Запись макроса (див. рис. 2).
3. Вводимо із клавіатури ім’я макросу “Сума” і задаємо сполучення клавіш натисканням на букву “w”. Надалі цей макрос буде виконуватися при натисканні комбінації клавіш Ctrl+w.
4. Клацаємо на кнопці ОК. Якщо була активна панель інструментів Visual Basic, на ній з’явиться кнопка Остановить запись, що говорить про те, що можна виконувати дії для макросу.
5. Переходимо на Лист1, для цього клацаємо на ярличку Лист1.
6. Виділяємо клітинку А1 і вводимо “Обчислення функції W”.
6. Виділяємо клітинку А2 і вводимо змінну ‘a”.
7. Виділяємо клітинку В2 і вводимо змінну “b”.
8. Виділяємо клітинку С2 і вводимо змінну “W”.
9. Виділяємо клітинку А3 і вводимо будь-яке число, наприклад 15.
10. Виділяємо клітинку В3 і вводимо будь-яке число, наприклад 32.
11. Виділяємо клітинку С3 і вводимо формулу =А3+В3.
12. Переходимо на Лист2, для цього клацаємо на ярличку Лист2.
13. Клацаємо на кнопці Остановить запись або вибираємо команду Сервис/Макрос/Остановить запись для завершення запису макросу.
Рис. 5. Вид вікна програмного коду з макросом
У результаті наших дій формується процедура. Щоб її переглянути, потрібно виконати команду Сервис/Макрос/Макросы, вибрати у вікні діалогу макрос “Сума” і натиснути кнопку Изменить. Після цього ми попадаємо в режим редактора Visual Basic, де в спеціальному вікні відображається програмний код макросу (рис. 5).
Розглянемо команди створеного макросу.
Range("A1").Select
ActiveCell.FormulaR1C1 = "обчислення функції W" ‘уведення тексту у виділену клітинку
Range("A2").Select
ActiveCell.FormulaR1C1 = "a" ‘уведення тексту a у виділену клітинку
Range("B2").Select
ActiveCell.FormulaR1C1 = "b" ‘уведення тексту b у виділену клітинку
Информация о работе Основи офисного програмування Visual basic for applications