Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 1436 Лекція на тему Офісне програмування та Програмування в середовищі VBA

Лекція на тему Офісне програмування та Програмування в середовищі VBA

« Назад

Офісне програмування.

Програмування в середовищі VBA: типи даних, основні оператори

та їх конструкції.

Одним із найважливіших функціональних розширень програми, призначеним для професіоналів, є вбудоване в Excel Середовище програмування Visual Basic (VBA) для рішення прикладних задач.  Завдяки VBA фірмі Microsoft вдалося не тільки розширити можливості мови макрокоманд Excel , але і ввести новий рівень прикладного програмування, оскільки VBA дозволяє створювати повноцінні прикладні пакети, що по своїх функціях виходять далеко за рамки опрацювання електронних таблиць.

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

Ім‘я змінноїце рядок символів ,що ідентифікує змінну у програмі.

Правила імен змінних:

1. Першим символом має бути літера;

2. Інші символи –літери та цифри;

3. Не можна застосовувати крапки;

3. Число символів не повинно бути більше 255.

4. Ім‘я не повинно бути ключовим словом Visual Basic.

Функція –це оператор ,що виконує певні дії (наприклад запит користувача на введення інформації або обчислення за формулою) ,а потім повертає результат своєї роботи у програму.

Тип даних-це спосіб збереження і подання даних у комп‘ютерній системі, який задає певний формат або розмір вмісту змінної.

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

Тип даних які підтримує Visual Basic

Тип даних

Опис і діапазон

  1.  

 String

 Дані складаються з 0-1032 символів алфафітно-числових даних.

  1.  

 Integer    

Числові значення без десяткової крапки у діапазоні від

-32768 до +32767.

  1.  

 Long Integer

 Цілі значення ,що перевищують диапазон значень Integer від -2 147 483 648

 до +2 147483647.

  1.  

Double Precision

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

точністю до 16 цифр і довжиною до 300 символів.

  1.  

Currency

 

  Дані ,що містять грошові одиниці

від –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

  1.  

Date

 Цей тип даних дозволяє зберігати значення часу і

дати в проміжку від 1 січня 100 року до 31 грудня 9999 року.

  1.  

Byte

Байтовый тип для цілих чисел от 0 до 255.

  1.  

Boolean  

Булев тип даних може берегти тільки два значення:

True або False.

  1.  

 Variant

Дані будь-якого типу ,що використовуються для елементів й

інших додатків ,для яких тип даних невідомий.

  1.  

 Object

Тип даних ,який містить посилання на на об‘єкти ,такі ,

як елементи керування і форми.

  1.  

 Single

Тип даних з одинарною точністю від -3 402 823 Е-38 до

3 402 823 Е+38

  1.  

 Decimal

Це числа з 28 десятиричними розрядами точності.

Способи оголошення типів змінних.

У багатьох мовах прогрпмування всі змінні , що використовуються , мають бути оголошені. Цією процедурою системі програмування повідомляються ім’я і тип змінної.

Наприклад змінна називається Name і містить текст. Після оголошення цієї змінної як текстової система знає ,який її вміст , і , яку ємність пам’яті необхідно зарезервувати для неї.

У мові Visual Basic існують  три способи оголошення типу змінної:

  • явне оголошення за  допомогою оператора опису змінної Dim (dimension –вимірність);

Dim Ім’я змінної [ As Тип Даних]

Dim Name As String в цьому випадку довжина змінної обмежується ОС.

Dim Name As String*35 в цьому випадку довжина змінної 35 символів.

  • оголошення за допомогою ідентифікаторів типів;

У цьому випадку тип даних може встановлюватися просто доданням знака до імені змінної;

Тип змінної

Знак

1

Integer

%

2

Long

&

3

Single

!

4

Double

#

5

Currency

@

6

String

$

Приклад:  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. Збереження спроектованого додатка;

 

Математична задача

Економічна задача

Програма обчислення вартості товару за формулою:

Сума=Ціна*Кількість

ЦІНА

1.00

Т1

КІЛЬКІСТЬ

5

Т2

ВАРТІСТЬ

5,00

Т3

До сплати

Comm3

 

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. Розробка призначеного для користувача інтерфейсу ,що включає проектування ескізу екранної форми і сценарію діалогу;

5

T1

15

T2

ОБЧИСЛИТИ

Command

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

 

Варіант 2

 

Варіант 3

 

Варіант 4

 

Do While Умова

 

Do Until Умова

 

Do

 

Do

 

Оператори

 

Оператори

 

Оператори

 

Оператори

 

Loop

Loop

Loop While Умова

 

Loop 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"!