Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11 Операт мови VBA та прогр типов обч процес.doc
Скачиваний:
10
Добавлен:
16.02.2016
Размер:
245.76 Кб
Скачать

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

Лекція 11. Оператори мови VBA та програмування типових обчислювальних процесів

11.1. Оператор присвоєння

Оператор присвоєння має такий формат: А = В,

де А – проста змінна, елемент масиву або властивість об’єкту;

В – константа, змінна або вираз, значення якого присвоюється елементу А.

Таким чином, наведений вище формат означає: елементу А присвоїти значення елементу В.

Приклади операторів присвоєння:

V = Pi * R^2 * H

I = I + 1

A(3, 4) = 12.5;

Workbooks(“Книга 1”).Worksheets(“Лист 2”).Cells(1,5) = -8,9

Range(“D5”).Formula = “=D2+D3”

theFilename = “C:\VBA\Examples\Examp.xls”

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

Таблиця 11.1. Функції перетворення типів

з/п

Функція

Що виконує функція

1

СBool(аргумент)

Перетворює аргумент в тип Boolean

2

СCur(аргумент)

Перетворює аргумент в тип Currency

3

СDate(аргумент)

Перетворює аргумент в тип Date

4

СDbl(аргумент)

Перетворює аргумент в тип Double

5

СInt(аргумент)

Перетворює аргумент в тип Integer

6

СLng(аргумент)

Перетворює аргумент в тип Long

7

СSng(аргумент)

Перетворює аргумент в тип Single

8

СStr(аргумент)

Перетворює аргумент в тип String

9

СVar(аргумент)

Перетворює аргумент в тип Variant

10

СVErr(аргумент)

Перетворює аргумент в номер помилки

Використовуючи функції перетворення типів, варто слідкувати за тим, щоб таке перетворення мало смисл. Наприклад, дадуть результати функції СSng(7), СSng(“45,34”), СSng(False), але функція СSng(“Луцьк”), СSng(“-54, Б33”) позбавлені смислу.

11.2. Програмування лінійних обчислювальних процесів

Формулювання задачі. Скласти підпрограму розв’язування такої задачі. Дано: R- радіус основи прямого кругового циліндра; H-радіус основи прямого кругового циліндра . Обчислити: площу бічної поверхні прямого кругового циліндра площу повної поверхні прямого кругового циліндраоб’єм прямого кругового циліндра

Нижче наведені форма та програмний код розв’язування даної задачі.

Private Sub CommandButton1_Click()

'Завдання. Дано радіус основи та висоту прямого

'кругового циліндра.

'Необхідно обчислити:

'Площу бічної поверхні циліндра SB: SB=2*PI*R*H;

'Площу повної поверхні циліндра SP: SP=SB+2*PI*R^2;

'Об'єм циліндра V: V=PI*R^2*H.

Const PI As Single = 3.14159

Dim R, h, SB, SP, V As Single

R = Val(InputBox("Введіть радіус основи циліндра R!"))

h = Val(InputBox("Введіть висоту циліндра H!"))

SB = 2 * PI * R * h

SP = SB + 2 * PI * R ^ 2

V = PI * R ^ 2 * h

MsgBox "Площа бічної поверхні циліндра SB: SB= " & _

Format(SB, "0000.00")

MsgBox "Площа повної поверхні циліндра SP: SP=" & _

Format(SP, "0000.00")

MsgBox "Об'єм циліндра V: V=" & Format(V, "0000.00")

TextBox1.Text = TextBox1.Text _

+ "Радіус основи прямого кругового циліндра R=" + _

Format(R, "0000.00") + vbCr

TextBox1.Text = TextBox1.Text _

+ "Висота прямого кругового циліндра H" + _

Format(h, "0000.00") + vbCr

TextBox2.Text = TextBox2.Text _

+ "Площа бічної поверхні циліндра SB: SB=" + _

Format(SB, "0000.00") + vbCr

TextBox2.Text = TextBox2.Text _

+ "Площа повної поверхні циліндра SP: SP=" + _

Format(SP, "0000.00") + vbCr

TextBox2.Text = TextBox2.Text _

+ "Об'єм циліндра V: V=" + Format(V, "0000.00") + vbCr

End Sub

Private Sub CommandButton2_Click()

TextBox1.Text = ""

TextBox2.Text = ""

End Sub

Private Sub CommandButton3_Click()

End

End Sub

11.3. Логічні операції та логічні вирази

У мові VBA використовують такі логічні операції (табл.11.3):

Таблиця 11.2. Логічні операції мови VBA

Функція

Назва функції

Not

Заперечення або інверсія

And

Логічне „І” або множення

Or

Логічне „АБО” або додавання

Хоr

Виключне логічне „АБО”

Imp

Імплікація

Eqv

Еквівалентність

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

Таблиця 11.3. Таблиця істинності для логічних операцій (Т-true,F-false)

Значення аргументів А та В

Значення логічних функцій

А

В

Not А

А And В

А Or В

А Хоr В

А Imp В

А Eqv В

T

T

F

T

T

F

T

T

F

T

T

F

T

T

T

F

T

F

F

F

T

T

F

F

F

F

T

F

F

F

T

T

Операція Notповертає логічну величину, протилежну даній.

Операція AndповертаєTrue лише тоді, коли обидва операндидорівнюютьTrue.

Операція OrповертаєFalse лише тоді,коли обидва операндидорівнюютьFalse.

Операція ХоrповертаєTrue, якщо один із операндівдорівнюєTrue, але не обидва одночасно.

Операція EqvповертаєTrue, якщо обидва операндимають однакові значення.

Операція Imp повертає значенняFalseлише тоді, коли перший операндмає значенняTrue, а другийFalse.

11.4. Умовний оператор альтернативиIfThenElse.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]