Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по информатике (2010-2011)(Лекц....doc
Скачиваний:
75
Добавлен:
04.11.2018
Размер:
20 Mб
Скачать

Запис дій

Про процес запису макросу свідчить наявність панелі "Зупинити запис" , при цьому, в лівому нижньому кутку вікна книги Excel з’являється напис "Запис".

За умовчанням панель "Зупинити запис" в Excel містить дві командні кнопки . Ліва кнопка - кнопка "Стоп"; служить для завершення процесу запису макросу. Права кнопка - кнопка "Відносне посилання". За умовчанням Excel записує абсолютні посилання на комірки в макроси. Якщо, наприклад, почати запис у виділеному осередку А5, а потім виділити осередок праворуч від А5, тобто В5, то записаний макрос також виділятиме осередок В5.

Якщо натиснути кнопку "Відносне посилання", Excel запише відносне посилання на осередок кожного разу, коли виділяється який-небудь осередок. Якщо виділеною в даний момент є осередок А5 і вибирається осередок праворуч від неї під час запису з відносними посиланнями, то Excel записує, що був виділений осередок, що знаходиться на 1 стовпець і 0 рядків правіше від поточного вибраного осередку. Коли макрос буде запущений, то він виділить осередок, що знаходиться безпосередньо праворуч від активного осередку.

Для запису нашого макросу необхідно виконати наступні дії (після натиснення кнопки "ОК" у вікні "Запис макросу"):

  • З випадного списку "Шрифт" вкладки "Главная" вибрати шрифт Arial;

  • З випадного списку "Розмір шрифту" тієї ж вкладки вибрати 12-й кегль;

  • Натиснути кнопку "Ж" вибору зображення шрифту.

Після цього макрорекордер необхідно зупинити, натиснувши кнопку "Стоп" на панелі "Зупинити запис".

Наш новий макрос в Excel тепер закінчений і готовий до виконання.

Самостійна робота №16 – Основи офісного програмування

Призначення вбудованої у Microsoft Office мови програмування VBA. Основні принципи об’єктно-орієнтованого програмування. Синтаксис звернення до атрибутів об’єктів? Відмінність між атрибутами та методами об’єктів. Інтерфейс вікна редактора VBA. Інтелектуальні можливості редактора коду VBA. [1, с. 319-325]

Питання для самоконтролю

  1. Яке призначення вбудованої у Microsoft Office мови програмування VBA?

  2. Вкажіть, що спільного і які відмінності між мовами програмування Visual Basic та VBA.

  3. Які основні принципи об’єктно-орієнтованого програмування?

  1. З яких частин складається вікно редактора VBA?

  2. Поясніть структуру вікна властивостей.

  1. Якими інтелектуальними можливостями володіє редактор коду VBA?

  2. Що є засобом автоматизації робіт у додатках Microsoft Office?

Тема 10. Основи офісного програмування Лекція 17: основи офісного програмування. Оператори мови vba та її керуючі конструкції

Анотація

Поняття об’єкту та об’єктної моделі. Властивості і методи об’єктів, синтаксис мови, типи даних. Оператори мови VBA та її керуючі конструкції. Об’єкти VBA Excel: Application, Workbook, Worksheet, Range, CommandBar, їх властивості та методи. Конструкція операторів With та For Each мови VBA. Управління файлами за допомогою VBA.

10.4. Програмування в excel

10.4.1. Синтаксис і дані мови VBA.

Синтаксис – це сукупність правил, що визначають порядок використання і організацію елементів мови.

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

Тип даних

Опис і діапазон значення

Byte

Зберігання позитивних чисел від 0 до 255

Boolean

Зберігання логічних значень: True, False

Currency

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

от -922337203685477,5808 до 922337203685477,5807

Date

Зберігання дати і часу. Дати від 1.01.100 до 31.12.9999 Час від 00:00:00 до 23:59:59

Double

Зберігання чисел подвійної точності від -1,79769313486232*10308 до -4,94065645841247*10-324 від 4,94065645841247*10-324 до 1,79769313486232*10308

Integer

Зберігання цілих чисел від -32768 до 32767

Long

Зберігання цілих чисел від -2147483648 до 2147483647

Single

Зберігання чисел одинарної точності від -3,402823*1038 до -1,401298*10-45 від 1,401298*10-45 до 3,402823*1038

String

Зберігання тексту довжиною до 2 млрд. символів

Variant

Зберігання будь-якого типу даних

10.4.2. Оператори мови VBA.

Оператор – це символ, або вираз, який дає вказівку програмі виконати певну дію над конкретними даними. VBA містить декілька категорій операторів: оператор присвоєння; числові і текстові оператори; логічні оператори; оператори порівняння.

Оператор присвоєння. Символ дорівнює (=) в VBA є оператором присвоювання і використовується для присвоєння значення змінній. Правила запису оператора присвоєння наступні: ліворуч від оператора присвоєння повинна стояти змінна, якій передається значення; праворуч від оператора присвоєння повинен стояти вираз.

Операція присвоєння має дві синтаксичні форми:

1. Let varname = expression;

2. varname = expression;

varname - будь-яка змінна VBA

expression - будь-який вираз VBA

Перший варіант операції присвоєння використовувався в ранніх мовах програмування Basic. Другий варіант використовується в сучасній версії VBA.

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

X = 5 + 7; Y = X + 5 ; Z = X - Y; A = B; I = I + 1.

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

Наприклад, якщо в операторі присвоєння А = А +5, змінна А до операції присвоєння містила значення 7, то після операції вона міститиме значення 12 (7+5).

Слід запам’ятати:

  • Можна присвоювати будь-яку чисельну змінну (або вираз) будь-якої іншої змінної чисельного типу (або змінній типу Variant );

  • Якщо привласнюється чисельний вираз змінній, що типізується, з меншою точністю (наприклад, Double - Long), VBA округляє значення виразу для збігу з точністю змінної, що набуває нового значення;

  • Якщо змінною типу String привласнюється змінна типу Variant , що містить число, VBA автоматично перетворить це число в рядок.

Оператор додавання (+)

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

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

  • Результатом додавання типу Single і Long буде Double;

  • Результатом додавання типу Date з будь-яким іншим типом даних завжди буде Date;

  • Якщо результат перевищує діапазон типу Integer, то VBA перетворить його в Long;

  • Якщо результат перевищує типи Long, Single, Date, то VBA перетворить його в Double;

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

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

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

Оператор віднімання (-)

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

Обидва операнди у виразі віднімання мають бути чисельними змінними (виразами) або строковими виразами, яке VBA може перетворити в число. Можна використовувати оператора віднімання для роботи з датами.

VBA використовує ті ж правила для визначення типу даних результату виразу віднімання, що і для виразів, що використовують оператора додавання. Але, є доповнення: Якщо обидва операнди у виразі є типом Date, то результат виразу матиме тип Double.

Оператор множення (*)

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

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

Оператор ділення (/)

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

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

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

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

Типом даних операції ділення з плаваючою комою є Double, за виключенням:

  • Обидва операнди у виразі ділення мають тип Integer або Single - результат Single;

  • Якщо результат виразу не переповнює діапазон значень для типу Single.

Цілочисельне ділення (\)

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

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

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

VBA відкидає (але не округляє!) будь-який дробовий залишок результату виразу цілочисельного ділення. Наприклад, вирази 22\5 і 24\5 матимуть один і той же результат = 4.

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

Ділення по модулю (Mod )

Ділення по модулю як би доповнює цілочисельне ділення. У діленні по модулю вираз повертає тільки залишок операції ділення як ціле.

22 Mod 5 = 4 24 Mod 5 = 8 25 Mod 5 = 0.

Решта властивостей ділення по модулю ідентична цілочисельному діленню.

Піднесення до степені (^)

Оператор піднесення до степені підносить число до степені.

5 ^ 3 =125.

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

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

Результат виразу має тип Double .

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

Підведемо підсумок вищевикладеному: