Ім'я файлу: Рудовол_10_16 (4).docx
Розширення: docx
Розмір: 37кб.
Дата: 28.11.2023
скачати

Рудовіл Єгор, ІПЗ20-2

ЗМІСТ


1. ОСНОВИ СИНТАКСИСУ 2

2. ОПЕРАЦІЇ 3

2.1 МАТМАТИЧНІ ОПЕРАЦІЇ 3

2.2 ЛОГІЧНІ ОПЕРАЦІЇ 4

2.3 ПРІОРИТЕТ ВИКОНАННЯ ОПЕРАЦІЙ 5

3. ТИПИ ДАНИХ 6

3. ОГОЛОШЕННЯ ЗМІННИХ ТА КОНСТАНТ 8

СПИСОК ВИКОРИСТАННИХ ДЖЕРЕЛ 10



1. ОСНОВИ СИНТАКСИСУ

Синтаксис VBA, як відомо з назви цієї мови (яка розшифровується як Visual Basic for Applications), майже повністю збігається з синтаксисом Visual Basic. Деякі основні синтаксичні принципи цієї мови: VBA нечутливий до регістру; щоб закоментувати код до кінця рядка, використовується одинарна лапка (') або команда REM; символьні значення повинні полягати у подвійні лапки; максимальна довжина будь-якого імені у VBA (змінні, константи, процедури) – 255 символів; початок нового оператора - переклад на новий рядок (точка з комою, як в C, Java, JavaScript для цього не використовується); обмежень на максимальну довжину рядка немає (хоча в редакторі міститься лише 308 символів). Декілька операторів в одному рядку поділяються двокрапками: Константа - це значення у програмі VBA, яке не змінюється. Константи можна використовувати як аргументи для процедур, у математичних операціях, операціях порівняння та ін. Константи бувають літеральними та іменованими. Літеральна константа - це константа (число, рядковий вираз, дата), розташована у коді. Наприклад: X = Y + 2 Тут число 2 є літеральною константою. Іменована константа, як правило, оголошується на початку модуля або процедури (аналогічно змінній) і призначена для зручності читання та розуміння програмного коду. Наприклад, доцільніше використовувати в коді програми іменовану константу Pi (якій присвоєно значення 3,14), ніж літеральну константу 3,14. Іншим вагомим фактором на користь іменованих констант є та обставина, що змінивши значення константи один раз, ці зміни миттєво відбудуться у всьому програмному коді. Літеральну константу треба шукати та змінювати в тілі коду "вручну", на що може піти досить значний час. Однак не варто використовувати іменовані константи часто-густо, т.к. Існує кілька правил, яких необхідно дотримуватися при написанні літеральних констант. Константи String Строкові константи повинні бути укладені в подвійні лапки ("); Порожня рядкова константа (так званий "нульовий рядок") позначається двома подвійними лапками, між якими нічого немає (""); константи Чисельні константи можуть містити будь-який з чисельних типів VBA, чисельні константи повинні складатися тільки з числових символів від 0 до 9; Чисельна константа може починатися зі знака (-) і може містити десяткову точку; або знаки не допускаються в чисельних константах. Константи Date необхідно поміщати між знаками фунта (#), при цьому формат завдання дати може бути різним.

Існують лише два види констант типу Boolean: True, False. При цьому їх не можна брати в лапки або скорочувати. Іменовані константи. При створенні та оголошенні іменованих констант треба дотримуватися тих самих принципів, як і під час роботи зі змінними. Для оголошення іменованої константи призначено ключове слово Const Name_N – будь-який допустимий ідентифікатор імені константи; Value_N – будь-яке значення даних; Opetator - арифметична чи операція порівняння між двома іменами раніше описаних констант. Область впливу іменних констант аналогічна змінним, тобто. константи бувають процедурного та модульного рівня. Оскільки однією з головних цілей використання іменованої константи є запобігання повторення або дублювання літеральних констант, як правило, необхідно, щоб іменовані константи були доступні всім процедурам в модулі. Тому доцільно розміщувати оголошення констант на модульному рівні, щоб вони мали найбільшу область дії. Коли оголошується іменована константа або використовується літеральна, VBA сприймає цю константу тим типом, який узгоджується з її значенням. У VBA можна задавати тип константи (за аналогією зі змінними). Але на відміну від змінних не можна задавати типи Object та Array. Наприклад, у наведеному вище листингу цілком доречно константі Pi задати тип Single Const Pi As Single = 3.14 Внутрішні константи. Внутрішня константа - це іменована константа, визначена розробниками VBA. Крім внутрішніх констант VBA, існують внутрішні константи для роботи з host-додатками. Так Excel містить внутрішні константи для використання з робочими книгами електронних таблиць. Аналогічно Word містить внутрішні константи для роботи з документами і шаблонами текстового редактора, а Access - для операцій з базами даних. Внутрішні константи, що визначаються VBA, починаються з букв vb. Внутрішні константи Excel – xl; Word – wd. Внутрішні константи, що визначаються host-додатком VBA (наприклад, Excel, Word), спрощують використання різних властивостей і методів, що належать цьому host-додатку. Для того, щоб побачити повний список внутрішніх констант, що є в наявності, необхідно використовувати Object Browser. Його можна викликати клавішею F2 у вікні редактора VBA. [1] [2]

2. ОПЕРАЦІЇ

2.1 МАТМАТИЧНІ ОПЕРАЦІЇ

Вираз - це значення чи група значень, яка виражає окреме значення. Результат виразу – одне значення певного типу даних. Знаки (позначення) операцій використовуються для дій над певними значеннями у виразах. Для присвоєння результату виразу змінної використовується оператор присвоєння (=), який зберігає будь-яке значення, представлене виразом праворуч від оператора присвоєння в комірці пам'яті, яку посилається змінна ліворуч від цього оператора.

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

Знак (+) використовується для виконання операції додавання. Доданки повинні бути чисельними виразами, рядками, які VBA може перетворити на числа чи датами, з якими також можливі арифметичні дії.

Тип даних результату виразу додавання зазвичай той самий, як і найточніший тип у тому виразі за деякими винятками. Усі винятки із цього правила наочно представлені у прикладах.

Знак (-) використовується для виконання операції віднімання, а також для позначення негативних чисел (коли ставиться перед змінною або виразом і означає те саме, що і множення на -1). Знак мінуса, який поміщають перед числом для позначення того, що число є негативним, називають унарним мінусом.

Для визначення типу даних результату вираження віднімання VBA слід тим самим правилам, що й виразів, використовують знак операції складання, але є два додаткові правила.

Правило 1. Якщо у вираженні віднімання один з операндів є типом Date, то результат виразу матиме тип Date.

Правило 2. Якщо у вираженні віднімання обидва операнда є типом Date, то результат виразу матиме тип Double.

Нак (*) використовується для виконання операції множення, результатом цієї операції є добуток операндів. Для визначення типу даних результату виразу множення VBA використовує ті ж правила, що і для виразів, що використовують додавання. У виразах множення всі змінні Variant, що містять значення типу Date, перетворюються на чисельні значення.

Знак (/) використовується виконання операції поділу, цей знак називають знаком поділу дійсних чисел. У виразах розподілу один операнд ділиться на інший, а результатом розподілу є приватне.

Якщо будь-який операнд у виразі поділу має значення Null, то результатом виразу також Null. Тип даних у виразах поділу дійсних чисел зазвичай Double, але є виняток.

Якщо у виразі поділу обидва операнди мають тип Integer або Single, то результат виразу поділу має тип Single. Якщо результат переповнює діапазон типу Single, то VBA перетворює їх у тип Double.

Знак (\) використовується виконання операції целочисленного поділу, у якому результатом поділу завжди є ціле число без дробової частини. VBA не округляє приватне цілого поділу, а просто вкорочує його до цілого числа, відкидаючи дробову частину.

Тип даних результату вираження цілісного поділу - або Integer, або Long. VBA використовує найменший тип даних, що відповідає результату виразу.

Знак (Mod) використовується виконання операції поділу по модулю. При розподілі за модулем вираз повертає лише залишок від розподілу як ціле.

Доступне розуміння пояснення цієї математичної операції наведено одному з форумів програмістів. Наведу цитату звідти: уяви, що є повна 50л каністра і 3л банку. І ти починаєш вичерпувати з каністри банкою воду (набирати можна тільки повну банку). 48л вичерпав, залишилося 2 літри. ." Тобто 50 Mod 3 повертає 2.

Тип даних результату виразу поділу по модулю - це Integer чи Long. VBA використовує найменший тип, який підходить для виразу.

Знак (^) використовується для виконання операції зведення у ступінь числа або виразу. Показник ступеня показує, скільки разів число чи вираз має бути помножено на себе. [3]

2.2 ЛОГІЧНІ ОПЕРАЦІЇ

Як операнда для логічного оператора можна використовувати будь-який дійсний вираз, що має результат типу Boolean, а також число, яке може бути перетворене на значення Boolean.

Результатом логічної операції є значення типу Boolean (або Null, якщо хоча б один із операндів має значення Null).

Оператор AND виконує логічну кон'юнкцію.

Результатом цієї операції є значення True, тільки коли обидва операнди мають значення True, інакше - False.

Оператор AND можна використовувати для кількох операндів:

(5<7) AND (4>3) AND (5=6) результатом буде False

Незалежно від кількості операндів результатом логічної операції AND буде True лише у тому випадку, коли всі операнди вирази матимуть значення True. У будь-якому іншому випадку результатом буде False. Зверніть увагу, що операнди полягають у круглі дужки. VBA спочатку обчислює значення кожного операнда всередині дужок, а потім уже весь вираз повністю.

Оператор OR виконує логічну диз'юнкцію.

Результатом цієї операції є значення True, якщо хоча б один з операндів має значення True, інакше – False.

Оператор OR можна використовувати для кількох операндів:

(5<7) OR (4>3) OR (5=6) результатом буде True

Незалежно від кількості операндів результатом логічної операції OR завжди буде True в тому випадку, якщо хоча б один з операндів виразу матиме значення True. Інакше результатом буде False.

Оператори AND та OR можна комбінувати:

((5<7) AND (4>3)) OR (5=6) результатом буде True

Оператор NOT виконує логічне заперечення.

Оператор NOT використовує лише один операнд.

Оператори AND OR NOT можна комбінувати:

((5<7) AND (4>3)) OR NOT (5=6) результатом буде True

Оператор XOR виконує логічний виняток.

Результатом цієї операції є значення True, якщо операнди мають різні значення, інакше – False.

((5<7) AND (4>3)) OR NOT (5=6) XOR (5=5) результатом буде False

Оператор EQV – це оператор логічної еквівалентності.

Результатом цієї операції є значення True, якщо операнди мають однакові значення, інакше – False.

((5<7) AND (4>3)) OR NOT (5=6) EQV (5=5) результатом буде True

Оператор IMP виконує логічну операцію імплікації.

((5<7) AND (4>3)) OR NOT (5=6) IMP (5=5) результатом буде True

Логічний оператор IMP найменш інтуїтивно зрозумілий із усіх логічних операторів. На щастя, необхідність його застосування виникає досить рідко. [4]

2.3 ПРІОРИТЕТ ВИКОНАННЯ ОПЕРАЦІЙ

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

Коли вирази містять оператори із кількох категорій, першими обчислюються арифметичні оператори, потім обчислюються оператори порівняння, а останніми обчислюються логічні оператори.

Усі оператори порівняння мають однаковий пріоритет, тобто вони обчислюються зліва направо у порядку, у якому відображаються.

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

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

Оператор & об'єднання рядків не є арифметичним оператором, але за пріоритетом він слідує всім арифметичним операторам і передує всім операторам порівняння.

З погляду пріоритету оператор Like відповідає всім операторам порівняння, хоча є оператором порівняння з допомогою шаблонів зіставлення.

Оператор Is – це оператор порівняння посилань на об'єкти. Він не порівнює об'єкти або їх значення, він тільки перевіряє, чи відносяться два посилання на об'єкт до одного й того самого об'єкта. [4]

3. ТИПИ ДАНИХ

Типи даних – це певні види даних, які VBA зберігає та може маніпулювати.

VBA використовує тип Date для зберігання дат та часу.

При роботі з цим типом даних слід мати на увазі, що VBA-типи Date не є такими ж типами, як у робочих аркушах Excel, хоча багато в чому схожі з ними. Наприклад, базовою датою для VBA-типу Date є 30 грудня 1899, а Excel - 1 січня 1900 року.

VBA тип Date є типом послідовних дат. VBA використовує негативні числа для подання дат раніше базової дати (30 грудня 1899 р.), і позитивні - для дат після базової. Число 0 становить саму дату 30.12.1899.

У значенні послідовної дати ціла частина – це загальна кількість днів від базової дати. Дробова частина (цифра праворуч від десяткового знака) – ці цифри позначають час дня як частину дня. Одна година – це 1/24 дні, одна хвилина – 1/1440 дня, секунда – 1/86400 дня.

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

VBA має шість різних чисельних типів даних: Byte, Integer, Long, Single, Double, Currency.

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

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

VBA надає три типи цілих даних: Byte, Integer, Long.

Byte - найменший із трьох типів цілих даних, призначений для зберігання числа від 0 до 255. Цей тип зазвичай використовують для зберігання двійкових даних.

Integer використовує діапазон цілих чисел від -32 768 до 32 767.

Long використовує діапазон цілих чисел від -2147483648 до 2147483647.

Byte, Integer, Long типи вимагають менше пам'яті для зберігання чисел, ніж інші чисельні типи даних VBA, а математичні операції та операції порівняння над числами зазначених типів швидше, ніж ці операції для чисельних типів даних з плаваючою точкою.

VBA автоматично перетворює дані типів Byte, Integer, Long на текст, коли вони виводяться на екран, використовуючи такі процедури, як MsgBox.

Числа з плаваючою точкою можуть мати будь-яке число цифр до або після десяткової точки (у межах конкретного типу даних). Іноді їх називають дійсними числами. Цей тип даних використовують тоді, коли потрібно зберігати числа, що мають дрібну частину.

VBA має два типи даних з плаваючою точкою: Single, Double.

Single використовується для зберігання:

негативних чисел від -3,402823 * 1038 до -1,401298 * 10-45

та позитивних від 1,401298*10-45 до 3,402823*1038.

Числа, які зберігаються з використанням типу Single, називаються числами одинарної точності.

Double використовується для зберігання:

негативних чисел від -1,79769313486232*10308 до -4,94065645841247*10-324

та позитивних від 4,94065645841247*10-324 до 1,79769313486232*10308.

Числа, які зберігаються з використанням типу Double, називаються числами подвійної точності.

Слід мати на увазі, що операції, що виконуються над числами з плаваючою точкою, трохи повільніше за подібні операції над іншими чисельними типами даних. Крім того, числа, що зберігаються як типи даних з плаваючою точкою, можуть бути схильні до помилок округлення. Якщо число з точкою, що плаває, дуже велике або дуже мале, VBA відображає його в експоненційному поданні.

В експоненційному поданні значення записуються без початкових і кінцевих нулів, і ліворуч від десяткового знака є лише одна цифра. Число множиться на 10 деякою мірою, щоб показати, де насправді знаходиться десятковий знак. Слід пам'ятати, що негативний ступінь призводить до меншого числа, а позитивна - до більшого. Замість надрядкового символу показника ступеня використовується буква Е:

4.1Е3 = 4100

2.01Е-2 = 0.0201

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

Currency зберігає числа в діапазоні від -922337203685477,5808 до 922337203685477,5807.

Будь-які текстові дані, що зберігаються у VBA, називаються рядками. Для зберігання призначений тип даних String.

Рядок може містити текстові символи будь-яких типів: літери, цифри, знаки пунктуації, розділові символи та ін.

Рядки завжди полягають у подвійні лапки.

Існує дві категорії рядків: рядки змінної довжини та рядки фіксованої довжини. За промовчанням у VBA всі рядки змінної довжини.

Слід сказати, що тип даних String є дуже важливим типом, тому що, як правило, інформація, що вводиться користувачем, - це рядкові дані. Крім того, оскільки на екрані монітора відображається тільки текст, всі інші типи даних повинні бути перетворені на рядкові дані перед виведенням на екран.

VBA-програма приймає те чи інше "рішення", ґрунтуючись на різних умовах. Будь-яка умова може приймати два значення: True (Істина) або False (Брехня). Логічні значення True і False називають булевськими значеннями, а тип даних - Boolean.

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

Це особливий тип даних, який може зберігати будь-які типи, крім типу Object. VBA використовує цей тип даних для всіх змінних, якщо вони не оголошені явно.

Дані типу Variant приймають параметри певного типу, який вони зберігають в даний момент. Наприклад, якщо дані типу Variant містять рядкові дані, Variant приймає характеристики типу String. VBA використовує для даних типу Variant найбільш компактне уявлення, можливе для конкретних значень даних.

Незважаючи на те, що типи Variant зручні та позбавляють деякої частини роботи при написанні коду, вони вимагають більшого обсягу пам'яті, ніж будь-який інший тип даних, за винятком великих рядків. Крім того, математичні операції та операції порівняння над даними типу Variant виконуються повільніше, ніж подібні операції над даними іншого типу. Слід уникати використання змінних Variant. [1]

3. ОГОЛОШЕННЯ ЗМІННИХ ТА КОНСТАНТ

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

Сonst <ім’я константи> [As] = <значення константи>

[, <ім’я константи> [As] = <значення константи>] …

У цьому форматі:

< ім’я константи>- це ім’я константи, яка оголошується, записане за правилами запису імен констант та змінних;

- тип константи, що оголошується; типи даних розглянемо у цьому розділі дещо нижче;

<значення константи> - конкретне значення константи.

Приклади опису констант:

Const Name As String = “Петро”

Const I As Integer = 10

Const Довжина As Single = 5.20

Const Ширина As Single = 6.40

Необхідно зазначити, що у мові VBA є багато власних констант, які користувач має право використовувати. Ці константи починаються з префікса vb:

vbBlue – константа , яка представляє числовий код для синього кольору , що дорівнює 16 711 680;

vbKeyTab – константа , яка представляє числовий код клавіші Tab, а саме 9;

VBA- програми, що працюють з додатками Excel, використовують також константи, які є характерними для цього середовища, наприклад:

xlBar Stacked –константа, яка представляє числовий код для лінійчатої діаграми, а саме 58.

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

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

для запису імен констант та змінних можна використовувати:

букви;

арабські цифри;

знак нижнього підкреслювання;

в іменах констант та змінних можна використовувати як латинські букви, так і букви національних алфавітів;

заборонено використовувати в іменах констант та змінних спеціальні символи, як от: $, & та інші;

великі та малі букви в іменах використовуються, однак не розрізняються;

ім’я константи або змінної не може бути службовим словом, іменем функції або оператора;

довжина імен констант та змінних не повинна перевищувати 255 символів (40 символів – у випадку імен форм та елементів управління):

в іменах констант та змінних рекомендується вживати префікси та суфікси для позначення їх типів.

Перш ніж використати ім’я якої-небудь змінної у процедурі, рекомендується описати цю змінну у розділі оголошень процедури або у розділі оголошень модуля. З цією метою використовуються оператори Dim, Public, Private, Static. Найбільш уживаний із них - оператор Dim.

Формат оператора Dim наступний:

Dim <ім’я змінної> [As] [,<ім’я змінної> [As] ] …

У цьому форматі:

< ім’я змінної> - це ім’я тієї змінної, яка описується даним оператором Dim - зрозуміло, воно повинно бути записане за правилами запису імен простих змінних;

- тип даних, до якого належить дана змінна; це один із типів, наведених у таблиці 10.1.

Аналогічно оголошуються змінні за допомогою операторів Public, Private, Static, про що йтиметься далі.

Приклади опису імен змінних:

Dim sName As String

Dim I As Integer, J As Integer

Dim LessonNumber As Long

Dim Height As Single, Width As Single

Dim Ширина As Single, Довжина As Single

Будь-яка змінна, яка не оголошена за допомогою операторів Dim, Public, Private або Static, розуміється комп’ютером за замовчуванням як змінна типу Variant. [5] [6]

СПИСОК ВИКОРИСТАННИХ ДЖЕРЕЛ

1. Общие сведения о синтаксисе Visual Basic [Електронний ресурс]. – Режим доступу: https://learn.microsoft.com/ru-ru/office/vba/language/concepts/getting-started/understanding-visual-basic-syntax – Назва з екрану.

2. Основы синтаксиса vba. Константы и переменные в vba. Типы данных. [Електронний ресурс]. – Режим доступу: https://studfile.net/preview/8716074/page:17/– Назва з екрану.

3. Операции vba [Електронний ресурс]. – Режим доступу: https://studfile.net/preview/7399033/page:2/ – Назва з екрану.

4. операції VBA [Електронний ресурс]. – Режим доступу: http://ni.biz.ua/5/5_2/5_29984_operatsii-VBA.html– Назва з екрану.

5. Константи та змінні у мові vba та їх опис [Електронний ресурс]. – Режим доступу: https://studfile.net/preview/5285255/page:2/– Назва з екрану.

6. Приоритеты операторов [Електронний ресурс]. – Режим доступу: https://learn.microsoft.com/ru-ru/office/vba/language/reference/user-interface-help/operator-precedence– Назва з екрану.

7 листопада 2023 р. 18:16

скачати

© Усі права захищені
написати до нас