Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 Лекція VBA.doc
Скачиваний:
25
Добавлен:
04.02.2016
Размер:
876.03 Кб
Скачать

Лабораторна робота №9

  1. Програму, котра виводити вікно повідомлення з заголовком «Привіт, світ!» і текстом у вікні заголовка «Програма [Ваше ім’я]». [Ваше ім’я] – потрібно взяти з комірки (1.1) листа з вашим прізвищем.

Public Sub zav1()

MsgBox "Привіт, світ!", , "Програму написала " + Worksheets("Петренко").Cells(1, 1)

End Sub

  1. Програму, котра виводить у вікно з заголовком [ім’я виконавця], взяте з комірки (1, 1) свого робочого аркуша, послідовно наступні повідомлення:

      • «Мій день народження [день народження]», причому день народження повинен бути зчитаним з відповідної комірки свого робочого аркуша.

      • «Мій код = [код виконавця]», причому код повинен бути зчитаним з відповідної комірки свого робочого аркуша.

Public Sub zav2()

MsgBox "Мій день народження " + Str(Worksheets("Петренко").Cells(3, 1)) + Chr(13) _

+ "Мій код " + Str(Worksheets("Петренко").Cells(4, 1)), , _

"Програму написала " + Worksheets("Петренко").Cells(1, 1)

End Sub

  1. Написати команду, котра виводить вікно діалогу з заголовком, що містить ім’я виконавця, а потім записує у п’яту комірку першого стовбця робочого аркуша текст з вікна діалогу (InputBox).

Public Sub zav3()

Worksheets("Петренко").Cells(5, 1) = InputBox("Введіть значення", "Програму написала " + Worksheets("Петренко").Cells(1, 1), "fffffff")

End Sub

Основи мови vba

Допустимі імена

Імена повинні відображати суть позначуваного об’єкту, щоб зробити програму такою, що легко читається. У VBA існують такі обмеження на імена:

  1. Довжина імені не повинна перевищувати 255 символів.

  2. В імені не може бути крапок, прогалин і наступних символів: %, #, @, $, !, &.

  3. Ім’я може містити будь-яку комбінацію букв, цифр, символів, які починаються з букви.

  4. Не рекомендується вживати імена, які співпадають з ключовими словами VBA і іменами вбудованих функцій і процедур.(Dim, procedure, static).

  5. Імена повинні бути смисловими.

Типи даних

Типи даних відносяться до фундаментальних понять будь-якої мови програмування.

Дані можуть бути представлені у вигляді змінних або констант.

Константи не можуть змінювати свої значення. Значення константи задається один раз при об’явленні константи.

Синтаксис: [Public | Private] Const Ім’яКонстанти [As Тип] = Вираз

Зауваження: те, що написано в квадратних дужках може бути а може й не бути.

Приклад об’явлення константи:

Privat Const Процентна ставка as single = 0.2 (single –коротке дробове число).

Параметр

Опис

Public

Private

Ім’я Константи

Тип

Вираз

Ключове слово, яке використовується на рівні модуля (проекта) для об’явлення констант і змінних, доступних всім процедурам у модулі (глобальне об’явлення).

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

Ім’я константи, яке задовольняє правилам іменування

Один з типів даних (типи даних розглянуто нижче)

Літерал, інша константа або будь-яка комбінація, яка включає всі арифметичні або логічні оператори, за виключенням оператору Is.

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

Явне об’явлення змінної означає, що змінна повинна бути об’явлена раніше, ніж її буде використано. Явно змінну можна об’явити одним з наступних способів:

Dim Ім’яЗмінної1 [As Тип 1][, Ім’яЗмінної2 [As Тип2]]…

Private Ім’яЗмінної1 [As Тип 1][, Ім’яЗмінної2 [As Тип2]]…

Static Ім’яЗмінної1 [As Тип 1][, Ім’яЗмінної2 [As Тип2]]…

Public Ім’яЗмінної1 [As Тип 1][, Ім’яЗмінної2 [As Тип2]]…

Параметр

Опис

Dim

Private, Public, Static

Ім’яЗмінної

Тип

Ключове слово для об’явлення змінних. Якщо Dim

було застосоване всередині процедури то це локальне об’явлення (аналогічне Private). Якщо Dim

було застосоване в загальній області, це глобальне об’явлення (аналогічне Public). Якщо змінна була об’явлена як Dim, Private, то змінна обнуляється при виході з процедури, де використовується це об’явлення. Якщо змінна була об’явлена як Static, то змінна обнуляється при завершенні роботи проекта.

Ключові слова, які визначають де і як можна використати змінну

Ім’я змінної, яке задовольняє правилам іменування

Тип даних змінної. Для кожної змінної необхідно використовувати структуру As Тип

Приклад

Dim N As Integer (ціле число).

Dim x У даному випадку відсутній тип даних. Це означає, що змінна за замовчуванням отримує тип Variant (аналог загального формату в Excel, тобто VBA сам буде визначати тип змінної. Наприклад, х = 5, якщо х має тип Variant, то VBA присвоїть x тип Integer або Long).

Неявне об’явлення змінної здійснюється включенням в кінець її імені спеціального символу, який встановлює тип змінної. В цьому випадку змінну немає необхідності об’являти перед тим, як її використовувати. Допустиме використання наступних символів для визначення типів:

Спеціальний символ

Тип

%

&

!

#

@

$

Integer

Long

Single

Double

Currency

String

Тип даних визначає множину допустимих значень, які може приймати вказана змінна. В VBA використовуються наступні типи даних:

Тип даних

Розмір (байт)

Діапазон значень

Byte - для зберігання двійкових, вісімкових, шістнадцяткових чисел

Boolean – для зберігання логічних змінних

Integer (цілий)

Long (довге ціле)

Single (з плаваючою точкою звичайної точності)

Double (з плаваючої точкою подвійної точності)

Currency (грошовий тип даних)

Date (для зберігання дати)

String (для зберігання текстових даних)

1

2

2

4

4

8

8

8

Довжина рядка

Від 0 до 255

True (False)

Від – 215 до 215

Від –230 до 232

Від – 3,4Е38 до –1,4Е-45 для від’ємних значень. Від 1,4Е-45 до 3,4Е38 для додатних значень

Від –1,7Е308 до –4,9Е-324 для від’ємних значень. Від 4,9Е-324 до 1,7Е308 для додатних значень

Від – 9,22E+14 до 9,22E+14

Від 1 січня 100р. до 31 грудня 9999р.

Від 1 до 216

Операції VBA

В програмах на VBA можна використовувати стандартний набір операцій над даними. Існує три типи операцій: математичні (виконуються над числами і їх результатом є числа), відношення (виконуються не лише над числами і їх результатом є логічні значення, наприклад х < у), логічні (застосовуються для логічних виразів і їх результатом є логічні вирази, наприклад Not x And y).

Математичні операції: +, -, *, /, \ (цілочисельне ділення), Mod (залишок від ділення), ^ (піднесення до степені).

Операції відношення: <, >, <=, >=, <> (не рівно), =.

Логічні операції: виконуються з даними логічного типу (boolean).

Операція

Опис

[Операнд 1] And [Операнд 2]

[Операнд 1] Or [Операнд 2]

[Операнд 1] Хor [Операнд 2]

Not [Операнд]

[Операнд 1] Equ [Операнд 2]

Логічне множення (кон’юнкція)

Логічне додавання (диз’юнкція)

Виключаюче Or, тобто повертає True тільки тоді, коли один операнд повертає True

Логічне заперечення (працює тільки з одним операндом)

Логічна еквівалентність

Нехай ми маємо два вирази: X = (а > b) X = 3 > 2 true

Y = (c = d) Y = 4 = 5 false

Результат обчислення логічної операції, в залежності від значень операндів X і Y наведені у таблиці.

X

Y

Аnd

Or

Xor

Eqv

True

true

true

true

false

true

True

false

false

true

true

false

False

true

false

true

true

false

false

false

false

false

false

true

Пріоритети (старшинство) операторів: арифметичні > порівняльні > логічні.

  1. Арифметичні: виклик функції і дужки, ^, -(зміна знаку), [* ; /], \, mod, [+; -].

  2. Порівняльні: однакове старшинство для всіх

  3. Логічні: Not, And, Or, Xor, Equ.

Вбудовані функції

В VBA є великий набір вбудованих функцій і процедур, використання яких суттєво спрощує програмування. Ці функції можна розділити на наступні основні категорії: математичні функції, функції перевірки типів, функції перетворення форматів, функції обробки рядків, функції дати і часу.

Математичні функції дозволяють проводити будь-які обчислення.

Функція

Значення, яке повертає функція

Abs(Number)

Atn(Number)

Cos(Number)

Exp(Number)

Log(Number)

Rnd (Number)

Sgn (Number)

Sin(Number)

Sqr (Number)

Tan(Number)

Fix(Number)

Int(Number)

Модуль (абсолютна величина числа)

Арктангенс

Косинус

Експонента (результат піднесення основи натурального логарифму в указану степінь

Натуральний логарифм

Рівномірно розподілене випадкове число з інтервалу [0, 1].

Знак числа

Синус

Квадратний корінь з числа

Тангенс

Обидві функції Int i Fix відкидають дробову частину і повертають ціле число

Пояснення.

  1. Різниця між функціями Int i Fix полягає в тому, що для від’ємних значень параметру функція Int повертає найближче від’ємне число, менше або рівне вказаному, а Fix - найближче від’ємне число, більше або рівне вказаному.

  2. Для перерозподілу випадкової величини θ рівномірно розподіленої на інтервалі [0, 1] на інтервал [a, b] необхідно обчислить випадкову величину ζ: ζ = а + (b – a) θ.

Обчислення інших функцій:

, де x – аргумент фукції

ctg(x)=1/tan(x)

arcctg(x)=3.1416/2-atn(x)

lg(x)=log(x)/log(10).

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