Лекція на тему Офісне програмування та Програмування в середовищі VBA
« Назад Офісне програмування. Програмування в середовищі VBA: типи даних, основні оператори та їх конструкції. Одним із найважливіших функціональних розширень програми, призначеним для професіоналів, є вбудоване в Excel Середовище програмування Visual Basic (VBA) для рішення прикладних задач. Завдяки VBA фірмі Microsoft вдалося не тільки розширити можливості мови макрокоманд Excel , але і ввести новий рівень прикладного програмування, оскільки VBA дозволяє створювати повноцінні прикладні пакети, що по своїх функціях виходять далеко за рамки опрацювання електронних таблиць. Змінна –це іменована область пам‘яті ,призначена для збереження даних, яка в ході виконання виконання програми набуває різних значень. Ім‘я змінної –це рядок символів ,що ідентифікує змінну у програмі. Правила імен змінних: 1. Першим символом має бути літера; 2. Інші символи –літери та цифри; 3. Не можна застосовувати крапки; 3. Число символів не повинно бути більше 255. 4. Ім‘я не повинно бути ключовим словом Visual Basic. Функція –це оператор ,що виконує певні дії (наприклад запит користувача на введення інформації або обчислення за формулою) ,а потім повертає результат своєї роботи у програму. Тип даних-це спосіб збереження і подання даних у комп‘ютерній системі, який задає певний формат або розмір вмісту змінної. Visual Basic працює з стандартними типами змінних. Крім того, программіст може визначити власний тип даних. У даному розділі описані ті з них, які в основному застосовуються при роботі з даними. Тип даних які підтримує Visual Basic
Способи оголошення типів змінних. У багатьох мовах прогрпмування всі змінні , що використовуються , мають бути оголошені. Цією процедурою системі програмування повідомляються ім’я і тип змінної. Наприклад змінна називається Name і містить текст. Після оголошення цієї змінної як текстової система знає ,який її вміст , і , яку ємність пам’яті необхідно зарезервувати для неї. У мові Visual Basic існують три способи оголошення типу змінної:
Dim Ім’я змінної [ As Тип Даних] Dim Name As String в цьому випадку довжина змінної обмежується ОС. Dim Name As String*35 в цьому випадку довжина змінної 35 символів.
У цьому випадку тип даних може встановлюватися просто доданням знака до імені змінної;
Приклад: Dim Name$
Змінна оголошується автоматично ,коли вона з’являється Приклад: Price@=523. За знаком @ система розпізнає , що тип даних Currency Функції введення-виведення даних Функція введення даних InputBox. Функція InputBox забезпечує формування вікна для введення інформації з відображенням його заголовка і запрошенням користувача до введення інформації. Значення ,що повертається = InputBox(рядок повідомлення ,[заголовок вікна,][,текст за замовчуванням][,Хпоз][,Упоз][,файл підказки, контекст]) Приклад: Sub My() Dim A As String A = InputBox("Введіть прізвище , ім'я , по батькові студента", "Вікно ідентифікації",1000, 3000) MsgBox A, 0, "Перевірка ідентифікації" End Sub рядок повідомлення заголовок вікна текст за замовчуванням рядок повідомлення –визначає текст що відображається в діалоговому вікні як запрошення; заголовок вікна –напис заголовка вікна; текст за замовчуванням – визначає значення, що відображається в рядку введення; Хпоз, Упоз – координати лівого кута вікна на екрані(по замовчуванню вікно відображається посередині екрана) файл підказки, контекст –необов‘язкові параметри які дають змогу відкривати файл підказки і файл довідки.
Функція виведення результату MessageBox Ця функція використовується для одержання від користувача відповідей “так” або “ні” і відображення коротких повідомлень , наприклад про помилки або попередження. Прочитавши повідомлення , користувач клацанням на кнопці “ОК” закриває вікно діалогу. Синтаксис функції: MsgBox А,0 , "Перевірка ідентифікації " Робота з комірками робочого листа Оператор Cells(M,N) M-номер комірки в рядку, N- номер комірки в стовбці Cells(2,1); Для передачи значення змінної х в программу використовується конструкція х= Cells(2,1);Виведення результату відповідно Cells(2,2)=у
Прогамування лінійних обчислювальних процесів Улінійному обчислювальному процесі всі операції виконуються послідовно у порядку їх запису. Тому всі оператори рпрограми ,що реалізують цей процес ,також виконоються у порядку їх запису , а саме: зліва направо й зверху в низ. Етапи розв‘язання задачі: 1. Розробка алгоритму; 2. Розробка призначеного для користувача інтерфейсу ,що включає проектування ескізу екранної форми і сценарію діалогу; 3. Введення тексту програми; 4. Виконання програми на ПК; 5. Збереження спроектованого додатка;
Математична задача Економічна задача Програма обчислення вартості товару за формулою: Сума=Ціна*Кількість
Private Sub Comm3_Click() Dim a ,c As Currency Dim b As Variant a=T1 b=T2 c=a*b T3=c End Sub
Прогамування обчислювальних процесів ,що розгалужуються Поняття умовного оператора. 1. Однорядкова форма запису If умова Then оператор 1 Else оператор 2 2. Багаторядкова форма запису If умова Then Послідовність операторів 1 ElseПослідовність операторів 2 End if. Проста умова а>ba<>ba=b Для складних порівнянь використовуються оператори Аnd ,Or іNot а>b and c<>b; a=b or c<>b;
Математичні задачі Проста умова Скласти програму на VBA для обчислення функції у=1/х Private Sub Comm4_Click() Dim x, y As Variant x = Cells(5, 1) If x <> 0 Then y = 1 / x: Cells(5, 2) = y Else Cells(5, 2) = "немаєрозв‘язків" End Sub Складне порівняння Скласти програму на VBA для обчислення функції , Private Sub Comm4_Click() Dim a, x, y As Variant a = Cells(2, 1) x = Cells(2, 2) If a >= 0 And Abs(x) <> 1 Then y = Sqr(a) / (x ^ 2 - 1): Cells(2, 3) = y Else Cells(2, 3) = "Н.Р." End Sub Економічна задача Проста умова Private Sub Comm5_Click() Dim a, c As Currency Dim b As Variant a = T1 b = T2 c = a * b T3 = c If c >= 1000 Then T4 = c - c * 0.05 Else T4 = c End Sub Складне порівняння Конструкція оператора Select Case Під час програмування часто доводиться розв’язувати задачу вибору одного варіанту з багатьох ,керування процесом відбувається за допомогою деякого виразу в залежності від його значення обирається той або інший варіант подальшої роботи алгоритму. У Visual Basic цім засобом є оператор Select Case. Синтаксис Select Case такий: Select Case Вираз Case Діапазон Значень 1 Послідовність операторів 1 Case Діапазон Значень 2 Послідовність операторів 2 ….. Case Else
Прогамування циклічних обчислювальних процесів.Оператор циклу. Оператор циклу For Ім‘я змінної = значення1 To значення2 [Step значення3] Оператори що повторюються (тіло циклу) Next Ім‘я змінної значення1=початкове значення параметру циклу. значення2=кінцеве значення параметру циклу. [Step значення3]- необов‘язковий елемент , крок циклу. При відсутності цього елементу крок циклу=1. Приклад. Знайти суму елементів массиву а(5); Етапи розв‘язку задачі: 1. Розробка алгоритму; 2. Розробка призначеного для користувача інтерфейсу ,що включає проектування ескізу екранної форми і сценарію діалогу;
3. Введення тексту програми; Private Sub Command_Click() Dim S,a(5) As Variant Dim i,n As Integer n = T1 S = 0 For i = 1 To n a(i)= InputBox("Введіть a", "Введення даних") Next i For i = 1 To n S=S+ a(i) Next i T2 = S End Sub 4. Виконання програми на ПК; 5. Збереження спроектованого додатка;
Програмування циклів з невідомим числом повторень Цикл з умовою — це багаторядковий оператор, перший рядок якого починається з ключового словаDo (виконати), а останній з ключового слова Loop (цикл). Синтаксис циклу з умовою має два різновиди: Do Умова Do Оператори, що Оператори, що Loop повторюються повторюються Loop Умова Ці дві форми циклу з умовою різняться розташуванням умови. Остання буває двох типів: • з ключовим словомWhile(воно називається умовою продовження циклу) • з ключовим словомUntil (воно називається умовою завершення циклу). Після ключового слова While (або Until ) записується умовний вираз. Чотири можливих варіанти використання операторів циклу з умовою
Варіант 1. Використання умови типу While (продовження циклу). Виконуючи цей цикл, VBA спочатку перевіряє умову. Якщо умова істинна (True), то виконуються оператори циклу і знову здійснюється повернення до оператора Do While та перевіряється умова. Якщо ж умова хибна (False), то всі оператори, записані в тілі циклу, не враховуються і відбувається вихід з циклу. Отже, цикл із такою конструкцією може виконуватися будь-яке число разів, поки значенням умови є не нуль (True). Private Sub Com1_Click()Dim a, n As Integer n = T1 (5) Do While a <= n поки а<=5 a = InputBox("Введіть а", "Вікно") MsgBox a, 0, "Вікно" Loop End Sub Варіант 2. Використання умови типу Until (продовження циклу). Оператори, що повторюються, виконуються, якщо значення умовного оператора дорівнює False ( хибність). В іншому випадку цикл завершується. Private Sub Com1_Click() Dim a, n As Integer n = T1 (5) Do Until a >= n поки а<5 a = InputBox("Введіть а", "Вікно") MsgBox a, 0, "Вікно" Loop End Sub Варіант 3,4 Для цих варіантів характерним є те що спочатку виконуються оператори тіла циклу , а потім перевіряється умова. З повагою ІЦ "KURSOVIKS"! |