ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


Програмне розширення офісних пакетів Microsoft Office. Обмін даними між додатками

Компанією Microsoft створено сімейство програм для підтримки офісної діяльності -Microsoft Office.

Комплект програмних продуктів Microsoft Office включає кілька додатків, що утворюють єдине середовище для обробки будь-якої інформації. До складу Microsoft Office входить потужний текстовий процесор Microsoft Word, електронні таблиці Microsoft Excel, засіб для підготовки і демонстрації презентацій Microsoft PowerPoint, а також інструмент організації й планування роботи Microsoft Outlook, система управління базами даних (СУБД) Microsoft Access.

Microsoft Office відрізняється тісною інтеграцією додатків. Це означає, що всі програми, які входять до складу Microsoft Office, «уміють» обмінюватися інформацією і дозволяють робити це досить просто.

Наприклад, якщо необхідно підготувати звіт за результатами фінансового періоду, що містить ілюстрації, то дані можна обробити в Microsoft Excel, побудувати на їхній основі графіки й діаграми, потім помістити їх у текст документа, створений у Microsoft Word. Переміщення діаграми здійснюється за допомогою операцій копіювання в буфер обміну Microsoft Windows і вставки в документ, що доступні через основне меню програм, через панелі інструментів, через гарячі клавіші або через контекстне меню, яке з'являється при натисканні на праву кнопку миші. Нарешті, ілюстрацію, як і будь-який інший об'єкт, можна «зв'язати» із документом, просто «захопивши» мишею в одному додатку і «перетягнувши» на потрібне місце в іншому (режим «Drag and Drop»).

Додатки Microsoft Office допускають обмін будь-якими даними між будь-якими додатками. Наприклад, можна використовувати діаграми з Microsoft Excel для оформлення звітів у Microsoft Word або для ілюстрації презентації у Microsoft PowerPoint. Можна помістити частину таблиці з Excel у текст документа Word або в слайд PowerPoint, а можна імпортувати в базу даних Microsoft Access. Крім того, будь-який додаток Microsoft Office дозволяє помістити в документ (будь то текст, електронна таблиця, презентація чи база даних) малюнок у будь-якому форматі, а також відеофрагмент або просто звуковий ролик.

При перенесенні окремих об'єктів з одного додатка в інший, крім звичайної операції копіювання/вставки, можна використовувати механізм зв'язування оригінального об'єкта і його копії. У цьому випадку при зміні вихідних даних у таблиці Excel змінюється побудована на їхній основі діаграма, а разом із нею і та копія діаграми, що міститься в документі Microsoft Word. Це дає можливість ефективної роботи зі складеними документами, у яких використовуються різні джерела. Наприклад, дані можна взяти з бази даних Access. Вони будуть обновлятися автоматично і кожен, хто захоче ознайомитися з таким документом, побачить останні цифри. Сімейство Microsoft Office містить набір інструментів, спільних для всіх додатків. До них належать механізми перевірки правопису й граматики, засіб для малювання, інструмент для створення яскравих заголовків, редактор організаційних діаграм, інструмент для редагування математичних формул, редактор фотозображень, бібліотека картинок і т. д. Сюди ж належать і панелі інструментів, і навіть меню, що є стандартними елементами будь-якого додатка Microsoft Office.

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

Починаючи з версії 97, у Microsoft Office входить новий додаток — Microsoft Outlook. Цей додаток являє собою інструмент для організації й планування персональної діяльності. Microsoft Outlook включає електронну пошту, базу контактів, календар і т. д. Але найголовніше — він зв'язує всі додатки, виступаючи як засіб організації роботи з ними. За допомогою Microsoft Outlook можна призначити зустріч, додавши в її опис супровідний документ. Це може бути список питань, що планується обговорити у форматі Microsoft Word, або звіт про результати року за продажами у форматі Microsoft Excel. Можна переслати складеним документ електронною поштою або у вигляді факсу-повідомлення.

Microsoft Office, починаючи з версії для Windows 95, тісно інтегрований з операційною системою і використовує всі її переваги. Наприклад, при роботі з Windows 95 додатки сімейства Microsoft Office дозволяють використовувати ярлики (Shortcuts) як посилання на документи, а самі документи можна зберігати з використанням довгих імен (до 250 символів, включаючи пробіли).

Працюючи в мережних операційних системах, додатки сімейства Microsoft Office підтримують спільну групову роботу кількох людей над спільними документами. Існує можливість використання матеріалів, розташованих не тільки на локальному диску робочої станції, але й на сусідньому комп'ютері або на сервері мережі.

Електронною таблицею Microsoft Excel, або базою даних Microsoft Access. Її можуть одночасно користуватися кілька людей. Microsoft Word дозволяє створити документ, над різними частинами якого можуть одночасно працювати різні люди. Microsoft PowerPoint дозволяє проводити відеоконференції. При цьому презентація показується одночасно на екранах усіх учасників конференції.

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

При підготовці документа часто виникає потреба в інформації, що знаходиться або у файлі бази даних, або на сервері баз даних (це може бути, наприклад Microsoft SQL Server). Зазвичай у таких випадках використовуються спеціальній додатки-клієнти, що підтримують механізм ODBC. Він забезпечує можливість одержання даних будь-яким додатком-клієнтом від будь-якого додатка-сервера. Механізм ODBC є одним зі стандартних елементів Microsoft Office, доступним усім додаткам, що належать до сімейства.

Додатки Microsoft Office мають широкий набір функцій, розрахованих на різні категорії користувачів. Зрозуміло, однак, що яким би великим не був програмний продукт, він не може містити абсолютно всі специфічні функції, потрібні різним людям. У Microsoft Office вбудована універсальна мова розробки Microsoft Visual Basic. Використовуючи її, кваліфікований користувач може легко створити як окрему утиліту, так і цілий додаток, що відповідає вимогам конкретної організації або підрозділу. Та сама програма мовою Visual Basic може використовувати об'єкти й документи з будь-якого додатка Microsoft Office.

Microsoft Office має вбудовану підтримку технологій Інтернету, що дозволяє створювати гнучкі й прості у використанні Інтернет-рішення. Будь-який додаток Microsoft Office дозволяє зберігати документи у форматі HTML, використовувати вбудовані в документи посилання на об'єкти Інтернет-мереж і переглядати ресурси Інтранет й Інтернет. Нова версія Office, як єдиний формат зберігання файлів у всіх додатках, підтримує XML, що є загальновизнаним стандартом зберігання структурованої інформації.

За допомогою Microsoft Office створення персональних Web-серверів стає процесом простим і зрозумілим кінцевому користувачеві.

Microsoft Office дозволяє істотно спростити пошук інформації у корпоративних мережах. Це досягається шляхом створення внутрікорпоративних Web-серверів зі зручною і зрозумілою ієрархічною системою розміщення інформації. Наприклад, система обліку поточних документів складу може складатися з кількох взаємопов'язаних HTML-сторінок, що стосуються різних підрозділів складу або різних категорій продукції. Кожним елементом на сторінці такого сервера є посилання на реальний документ, наприклад, на зведення про стан окремого складу або відомість наявності товару за категоріями. Перегляд сторінок сервера можна здійснювати за допомогою Microsoft Internet Explorer або будь-якого додатка Microsoft Office.

Такий Web-сервер дозволяє спростити процедуру доступу до інформації для рядових користувачів і займає зовсім небагато місця на диску, тому що містить в основному посилання.

Якими б широкими можливостями не володів Microsoft Excel, завжди знайдеться така задача, яку стандартними можливостями пакету Microsoft Excel розв’язати неможливо. Для таких випадків, в пакет Microsoft Office, був інтегрований інструмент Visual Basic for Application(VBA), який дозволяє вирішити набагато більший спектр задач, що стоять перед користувачем і дозволяє користувачеві створити те середовище, яке є найбільш прийнятним для певного роду діяльності.

 

4.1.2. Призначення та основні поняття системи об‘єктно-орієнтованого програмування VBA: редактор, процедури та функції, основні конструкції та оператори мови

 

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

• що модернізуються

• що повторно використовуються

• переносимими.

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

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

Об'єктно-орієнтоване програмування (ООП) максимально використовує принцип модульності. Програмний об'єкт в ООП називається "контейнером". Контейнер включає в себе дані і код, який знає, як маніпулювати цими даними. Іншими словами, програмний об'єкт це просто блок, що складається з коду і даних. Він може бути представлений як реальний фізичний об'єкт, наприклад у вигляді командної кнопки. Програмний об'єкт володіє специфічною функцією перетворення і містить весь необхідний код і всі необхідні дані для реалізації цієї функції, але його внутрішня робота прихована від стороннього ока.

У більш традиційному програмуванні комп'ютерна програма розроблялася у вигляді функціональних наборів рядків, в яких блоки даних передавалися від модуля до модуля і кожний модуль модифікував або використав ці дані своїм способом. Модулі не містили даних, а тільки коди для модифікації будь-яких переданих даних. Якщо програма випадково передасть такій процедурі невірні дані, процедура все одно обробить їх, повернувши вам "сміття", або взагалі викличе аварію вашої системи.

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

Основні поняття Visual Basic for Application.Мова програмування VBA виникла на основі мови Visual Basic(VB). VBA тісно пов’язаний з мовою VB. В VB і VBA використовуються ідентичні середовища розробки. Основна відмінність мови програмування VB і мови Visual Basic for Application в тому, що на мові Visual Basic створюються самостійні додатки, а проекти VBA працюють в середовищі Microsoft Office. Крім того слідує відмітити що, програма VBA не компілюється на відміну від VB, а інтерпретується. Це означає, що переведення програми в машинний код здійснюється в процесі її виконання і проекти VBA виконуються тільки з допомогою додатка, який підтримує VBA. При компіляції переведення програми в машинний код відбувається до запуску програми, тому скомпільовані додатки працюють швидше і займають менше пам’яті. Проте, по-перше, вони мають меншу гнучкість і, по-друге, на сьогоднішній день, комп’ютерна техніка настільки прогресивна, що швидкодія і об’єм пам’яті не є критичним моментом для офісних додатків (помітити різницю в швидкодії програм написаних на VB і VBA практично неможливо).

Якщо ж говорити в загальному, то Visual Basic for Application — це інструмент розробки додатків.

VBA — не просто стандартна макромова додатків Microsoft Office: цей інструмент застосовується для розширення функціональних можливостей додатків, у яких він використовується. Наприклад, можна додати власне меню або функцію до вбудованих засобів Excel, або створити свого майстра, щоб спростити створення презентацій в PowerPoint. Спільно використовуючи VBA з програмами Microsoft Office, можна вирішувати дуже складні задачі. Наприклад за допомогою VBA можна:
1. Створити макроси, які дозволяють автоматизувати роботу та розширюють функціональні можливості додатка, у який вбудований VBA.
2. Змінити меню будь-якого додатка Microsoft Office.
3. Створити власне діалогове вікно і додати йому необхідний зовнішній вигляд.
4. Керувати іншим додатком Microsoft Office або даними з цього додатку.
5. Об'єднати дані з декількох додатків Microsoft Office в одному документі.
6. Створювати власні функції в Microsoft Excel.
7. Автоматично створювати або змінювати сторінки Web, спільно використовуючи додатки Microsoft Office і VBA.

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

Розробка проектів і створення додатків. Проекти VBA виконуються разом з іншими додатками. Додаток, у якому розробляється і виконується проект VBA, називається основним. Наприклад, можна створити проект VBA, що працює разом з Microsoft Excel. У цьому випадку Excel є основним додатком. Фактично, не використовуючи основний додаток, не можна побудувати додаток VBA.

Середовище розробки VBA. VBA має власне середовище розробки, що називається інтегрованим середовищем розробки або IDE. VBA IDE — це вікно, що містить меню, інші вікна й елементи, що застосовуються при створенні проектів VBA.

Редактор VBA активізується командою Сервіс, Макрос, Редактор Visual Basic або натисненням кнопки Редактор Visual Basic панелі інструментів Visual Basic або комбінації клавіш <лівий Alt> + <F11>. Повернутися з редактора Visual Basic в робочу книгу можна натисненням кнопки Viev Microsoft Excel панелі інструментів Standard.

В результаті ви потрапляєте в середовище розробки додатків редактора VB.

Інтерфейс редактора Visual Basic складається з наступних основних компонент:

· вікно Project – VBA Project (Проект);

· вікно редагування коду.

Вікно розробки має стандартний вигляд для Windows додатків: рядок меню, панель інструментів і два вікна Project (Проект) i Propetis (Властивість). У вікні Project – VBA Project відображається реєстр модулів і форм, які входять до створюваного проекту. Модуль – це лист (не плутати з робочим листом), де набирається код (програма). Подвійним натисненням по значку модуля можна відкрити відповідний модуль. Значок активного модуля виділяється сірим кольором. У VBA кожний робочий лист має модуль. Щоб додати його в проект, необхідно вибрати команду: Вставка, Модуль. В результаті з’являється робочий лист модуля. Для створення програм потрібно скористатись: Вставка, Процедура.

Існують два способи запуску програми:

1. Встановити курсор в будь-яке місце програми і натиснути функціональну клавішу F5.

2. Натиснути з будь-якого місця програми піктограму пуск. Виникне модальне вікно (модальне – це означає, що поки ми його не погасили, не можна виконувати ніякі інші дії). Щоб повернутися в модуль, треба натиснути клавішу ОК.

Основи мови VBA.

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

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

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

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

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

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

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

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

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

Таблиця 4.1.1.

Параметр Опис
Public   Private     Ім’я Константи Тип Вираз   Ключове слово, яке використовується на рівні модуля для об’явлення констант, доступних всім процедурам у всіх модулях. Ключове слово, яке використовується на рівні модуля для об’явлення констант, доступних тільки всередині модуля, в якому виконується опис. Ім’я константи, яке задовольняє правилам іменування Один з типів даних (анно даних розглянуто нижче) Літерал, інша константа або будь-яка комбінація, яка включає всі арифметичні або логічні оператори, за виключенням опрератору Is.

Наведемо приклади числової і рядкової константи:

Private Const ПроцСтавка As Single = 0.2

Public Const As String = “abc”.

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

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

Dimан’я_змінної [As тип_даних]- для оголошення локальної змінної – видимої тільки у цій процедурі, при виході з процедури її значення буде втрачено.
Privateан’я_змінної [As тип_даних]- для оголошення локальної змінної – видимої у всіх процедурах одного модуля, до якого належать ці процедури, але опис такої змінної потрібно зробити у розділі Declarations.
Staticан’я_змінної [As тип_даних]- для оголошення локальної змінної – видимої тільки у цій процедурі, але після виходу з цієї процедури її значення не втратиться.

Publicан’я_змінної [As тип_даних]- для оголошення глобальної змінної – видимої у всіх процедурах усіх модулів. Вона може бути оголошена у стандартному модулі.

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

Приклади: DimСost As Currency;

Public a, b, KrokZmAs Single

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

Таблиця 4.1.2.

Суфікс Тип змінної Приклади
% Integer x%
& Long a&
! Single b!
# Double t#
@ Currency Suma@
$ String Name$

 

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

В VBA використовуються наступні типи даних:

Таблиця 4.1.3.

Тип змінної Pозмір пам’яті, байти Діапазон значень
Integer -32768 … 3267
Long -2147483648 … 2147483647
Single -3.402823E38 … 3.402823E38
Double -1.79769313486232E308…1.79769313486232E308
Currency -922337203685477.5808…922337203685477.5808
Boolean True або False
Date 01.01.100 … 31.12.319999
String До 255 символів (1 байт на 1 символ)  
Variant не менше 16 байт  

Області видимості змінних.

1. Змінні рівня процедури розпізнаються тільки в процедурі, в якій вони описані за допомогою інструкції Dim i Static. Такі змінні називаються локальними.

2. Змінні рівня модуля використовуються тільки в модулі, в якому вони описані перед процедурою за допомогою інструкції Dim або Private, але не в інших модулях даного проекту.

3. Змінні рівня модуля, які описані за допомогою інструкції Рublic, є доступними для всіх процедур проекту. Такі змінні називаються відкритими.

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

Масиви.Масивом називається впорядкована послідовність величин, які позначені одним іменем. Впорядкованість полягає в тому, що елементи масиву розміщаються в послідовних комірках пам’яті. Щоб звернутись до елементу масиву треба вказати ім’я масиву та індекс елементу масиву. Елементи масиву мають один і той самий тип.

Масиви бувають статичні, динамічні, одновимірні та багатовимірні.

Статичні масиви - це масиви, які мають постійний або фіксований розмір.

Синтаксис:

Dim Ім’яЗмінної(індекси) [As Тип] [,Ім’яЗмінної(індекси) [As Тип]] …

Таблиця 4.1.4.

Параметр Опис
Ім’яЗмінної   Індекси     Тип Ім’я змінної, яке задовольняє стандартним правилам іменування змінних Розмірності масиву; кількість розмірностей може бути до 60 Якщо нижній індекс не заданий явно, нижня межа масиву визначається інструкцією Option Base. Якщо відсутня інструкція Option Base, нижня межа масиву дорівнює нулю за замовченням Тип даних масиву

Приклади

Dim A(12) As Integer – одномірний масив цілих чисел. Розмір – 12 елементів. Причому за замовчуванням перший елемент масиву – А(0), а останній – А(11). В цьому випадку говорять, що 0 – базовий індекс. Його можна змінити, написавши інструкцію Оption Base 1. Тоді першим елементом масиву буде А(1).

Dim B(3, 3) As Single – двовимірний масив (матриця) дійсних чисел.

Динамічні масиви

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

Dim R() As Single

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

Синтаксис: ReDim [Ім’яЗмінної (Індекси) [As Тип] [,Ім’яЗмінної (Індекси) [As Тип]] …

Таблиця 4.1.5.

Параметр Опис
Ім’яЗмінної   Індекси   Тип Ім’я змінної, яке задовольняє стандартним правилам іменування змінних Розмірності змінних масиву; допускається до 60 розмірностей. Даний параметр має синтаксис: [Нижній То] Верхній [,[Нижній То] Верхній]] … Якщо нижній індекс не задано явно, то нижня межа визначається інструкцією Option Base. Якщо відсутня інструкція Option Base то нижня межа масиву дорівнює нулю Тип даних масиву

 

Приклад 1. ReDim R(1 to 10) – в цьому прикладі встановлюються межі динамічного масиву від 1 до 10.

Приклад 2.

Dim B( ) As String

N = 2

M = 2

ReDim B(N, M)

N = 3

M = 3

ReDim(N, M)

В цьому прикладі показано використання інструкції ReDim.

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

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

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

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

Таблиця 4.1.6.

Операція Опис
[Операнд 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 наведені у таблиці.

Таблиця 4.1.7.

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] & [Рядок2] – зчеплення рядків. Для зчеплення рядків допустимо використання операції [Рядок1] + [Рядок2], але рекомендується застосовувати знак & (амперсант).

Приклад:

S1 = “Hello”

S2 = “Word”

S = S1 & S2

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

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

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

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

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

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

 

 

Таблиця 4.1.8.

Позначення функції Дія
В математиці В програмі VB
|x| Abs(Х) Обчислює абсолютне значення виразу Х
cosx Cos( Х ) Обчислює косинус кута Х, вираженого в радіанах
sinx Sin( Х ) Обчислює синус кута Х, вираженого в радіанах
tgx Tan( Х ) Обчислює тангенс кута Х, вираженого в радіанах
ex Exp( Х ) Обчислює константу е в степені Х
lnx Log Х ) Обчислює логарифм виразу Х
Знак числа x Sgn( Х ) Повертає – 1 , якщо Х< 0; 0, якщо Х= 0; 1 , якщо Х > 0
Sqr( Х ) Обчислює квадратний корінь з виразу Х
- Str( Х ) Перетворює числове значення Х на рядкову величину
- Val( Х ) Перетворює рядкову величину Х на числове значення
- Rnd( Х ) Генерує випадкове число між 0 та 1
  Rnd (X) Генерує випадкове число між 0 та 1
  Atn (X) Повертає арктангенс X. Кут X виражається в радіанах

 

Таблиця 4.1.9.

Функції обробки рядків

Функція Дія Приклад
Ucase Переводить усі символи рядка у верхній регістр Ucase ("Ivanenko") =IVANENKO
Lease Переводить усі символи рядка в нижній регістр Lease ("Ivanenko") =ivanenko
Len Визначає довжину рядка Len ("Ivanenko") = 8
Right Повертає задане число символів, починаючи від кінця рядка Right ("Ivanenko", 2) = “ko"
Left Повертає задане число символів, починаючи від початку рядка Left ("Ivanenko", 4) = "Ivan"
Mid Повертає задане число символів, починаючи від указаної позиції Mid ("Ivanenko", 2, 3) = "van"
String Повторює вказаний символ уста­новлену кількість разів String (4, "$") = $$$$
Asс Повертає ASCII-код для вказаного символу Asс(„R”) = 82
Chr Повертає символ для вказаного ASCII-коду Chr(114) = r

Функції вибору.Крім перерахованих функцій в VBA існують також функції вибору, які дублюють деякі аспекти операторів умовного переходу.

1. iif – повертає одну з двох альтернатив.

Синтаксис: iif(Expr, Truepart, Falsepart), де Truepart – значення або вираз, який повертається, якщо Expr має тип True, Falsepart – значення або вираз, який повертається, якщо Expr має тип False.

Приклад: a = iif(b > c, b, c)

2. Choose – повертає значення, вибране зі списку параметрів.

Синтаксис: Choose(Index, Choice1 [,Choice2, … [,ChoiceN]]), де Index – числовий вираз або поле, значенням якого є число, яке лежить між 1 і числом елементів списка, Choice – вираз типу Variant, який містить один з елементів списку.

Приклад: N=3

a = Choose(n, “1”,”2”,”3”,”4”)

В результаті виконання в а буде міститься “3”.

Перенос рядка.Для продовження рядка інструкцій VBA використовується конструкція <Прогалина> + <Знак підкреслення> в кінці рядка, яка забезпечує, що наступний рядок є продовженням попереднього. При цьому потрібно пам’ятати, що сам рядок не може складатись більше ніж з 1024 символів

Приклад: if a > b then _

с = a else _

с = b

Коментарі.Текст, що міститься в програмі за символом (‘) або оператором Rem до кінця рядка з права, ігнорується компілятором і є коментарем. Оператор Rem може бути, як і будь-який інший оператор VBA єдиним в рядку, а символ (‘) може стояти в будь-якому місці рядка, тобто стояти як на початку тексту так і бути другим оператором VBA.

Розміщення декількох операторів в одному рядку.Використання знака (:) дозволяє розмістити декілька операторів в одному рядку. Таким чином, наступні дві конструкції еквівалентні:

x = 1

x = x + 1

та

x = 1 : x = x + 1

Оператор присвоєння.Оператор присвоєння завжди включає знак (=).

Синтаксис:

Змінна (або Константа) = Вираз

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

Приклад:

х= 2

х = х + 2

Змінній х буде присвоєно значення 4.

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

Синтаксис: 1. if Умова then [інструкція] [Else Інструкція_else]

2. if Умова1 then

[Інструкція1]

[elseif Умова2]

[Інструкція2]

. . .

[else]

[Інструкція_else]

endif

Приклад 1. Прочитати з робочого листа 1 Excel число і піднести його до квадрату, якщо воно від’ємне; піднести його до кубу, якщо воно додатне.

Public Sub tyr()

x = Worksheets("Лист1").Cells(1, 1)

If (x < 0) Then y = x ^ 2 Else y = x ^ 3

MsgBox Str(y)

End Sub

Приклад 2.

Знайти значення х:

y + (y + cos(y))^(1/3) y < -3

x = arccos(0.2y + 0.23) - 3 < y <3

arcctg(y – ey) 3 < y < 5

Public Sub tyr()

x = Worksheets("Лист1").Cells(1, 1)

If (x = -3) Or (x = 3) Or (x >= 5) Then

MsgBox "FNO"

ElseIf (x < 3) Then

y = x + Sgn(x + Cos(x)) * Abs(x + Cos(x)) ^ (1 / 3)

ElseIf ((x > -3) And (x < 3)) Then

y = Atn(0.2 * x + 0.23) / Sqr(1 - (0.2 * x + 0.23) ^ 2)

Else

y = 3.1416 / 2 - Atn(y - Exp(y))

End If

MsgBox Str(y)

End Sub

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

Синтаксис: select case

[case СписокВиразів_1]

[Інструкція_1]

. . .

[case списокВиразів_n]

[Інструкція_n]

[case else]

[Інструкція_else]

end select

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

- Інструкції – це одна або декілька інструкцій, які виконуються в тому випадку, якщо вираз співпадає з деяким значенням із списку від СписокВиразів-1 до СписокВиразів-n.

- Інструкції_Else – одна або декілька інструкцій, які виконуються в тому випадку, якщо вираз не співпадає ні з одним з пропозицій Case.

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

Public Sub iui()

x = InputBox("Введіть ціле число")

Select Case x

Case 1

MsgBox "Число дорівнює 1"

Case 2, 3

MsgBox "Число дорівнює 2 або 3"

Case 4 To 6

MsgBox "Число від 2 до 6"

Case Is >= 7

MsgBox "Число не менше"

End Select

Приклад 2. Залежно від вибраного значення n присвоїти значення змінній х.

Public Sub qq()

n = 4

Select Case n

Case 1

x = 1

Case 2 To 5

x = 2

Case Else

x = 3

End Select

MsgBox x

End Sub

Оператор For – Next (оператор циклу).Оператор For – Next виконує групу інструкцій вказану кількість разів.

Синтаксис:

For Лічильник = Початок То Кінець [Step Крок]

[Інструкції]

[Exit For]

[Інструкції]

Next [Лічильник]

Оператор For – Next повторює виконання групи інструкцій з вказаним Кроком доти, поки Лічильник змінюється від Початку до Кінця. Якщо Крок не вказаний, за замовчуванням він вважається рівним 1. Альтернативний вихід з циклу надає інструкція Exit For.

Приклад 1.

Знайти суму елементів одномірного масиву, введених з робочого листа Excel.

Public Sub rtr()

Dim a(100)

n = InputBox("Введіть кількість елементів масиву")

For i = 1 To n

a(i) = Worksheets("Лист1").Cells(i, 1)

Next i

s = 0

For i = 1 To n

s = s + a(i)

Next i

MsgBox Str(s)

End Sub

Оператор While-Wend (оператор циклу).Використовується рідко.

Оператор While-Wend виконує послідовність інструкцій, поки задана умова має значення True.

Синтаксис:

While Умова

[Інструкції]

Wend

Оператор While-Wend на відміну від For – Next працює не задану кількість раз, а поки виконується умова.

Приклад. Використання оператору While-Wend

Public Su1b rtr()

Dim a(100)

n = Val(InputBox("Введіть кількість елементів масиву"))

i = 0

While i <= n

i = i + 1

a(i) = Worksheets("Лист1").Cells(i, 1)

Wend

s = 0

i = 0

While i <= n

i = i + 1

s = s + a(i)

Wend

MsgBox Str(s)

End Sub

Оператор Do – Loop.Оператор Do – Loop повторює виконання набору інструкцій, поки умова має значення True (випадок While) або поки умова не прийме значення True (випадо

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти