РЕФЕРАТ
Пояснювальна записка: 23 с., 2 рис., 4 джерела, 5 таблиць
Метою роботи є створення програмного продукту на мові програмування Visual Basic for Applications відповідно до завдання, виданим на навчальну практику. Даний програмний продукт дозволяє розмістити в Microsoft Word вихідний текст, введений користувачем, на сторінці, кожен рядок якої має бажане користувачем кількість символів (причому слова не розриваються на два рядки) і в Microsoft Excel знайти суму двох розріджених поліномів, заданих ненульовими коефіцієнтами та їх номерами . Програмний продукт повинен забезпечувати зручність і простоту використання, бути функціональним і надійним, ефективним в експлуатації.
Програмний продукт може залучити користувачів, які хочуть дізнатися додаткову інформацію про Visual Basic for Applications, вивчити основну інформацію і простежити за розробкою програм на даному мовою програмування.
ПЕРЕЛІК ВИКОРИСТОВУЮТЬСЯ ДЖЕРЕЛ
Гарнаєв А.Ю. Самовчитель VBA - 2-е вид., Перераб. і доп.. - К.: БВХ-Петербург 2004, 560с.
Гарнаєв А.Ю. «Excel 2002: розробка програм» - СПб.: БВХ-Петербург 2002, 450С.
С. Браун «VB 6» - СПб.: Москва - Харків - Мінськ 2002, 573с.
С. Каммінгс «VBA для Чайників» - СПб.: Москва - Санкт-Петербург - Київ 2003, 440С.
ВИСНОВКИ
У процесі роботи над завданням по навчальній практиці була розроблена інформаційна система. У даній системі реалізовані наступні можливості:
виведення довідкової інформації з мови програмування Visual Basic for Applications;
знаходження в заданій рядку слів, що починаються і закінчуються однією і тією ж буквою; висновок слів на екран у Microsoft Word;
за допомогою певних перетворень у вихідній матриці змінити елементи парних стік, вивести кінцеву матрицю на екран у Microsoft Exel.
Згодом в ПП можливо збільшити обсяг теоретичного матеріалу по VBA, удосконалити інтерфейс. Недоліків даної системи розробником не виявлено.
ВСТУП
Visual Basic for Applications (VBA) - досить популярна в останні роки середовище розробки додатків, яка, будучи потужним програмним засобом, дозволяє реалізувати широкий спектр практичних завдань. Основна її перевага полягає в оптимальному поєднанні простоти використання, доступності і великого набору різноманітних можливостей, що дозволяють охопити всі основні напрями діяльності розробника прикладних програм.
Можливості VBA зовсім не поступаються іншим системам програмування Windows і постійно зростають. До того ж багато систем програмування в Windows і використовують загальні бібліотеки об'єктів, серед яких - об'єкти Word і Excel. До основних можливостей VBA можна віднести реалізацію максимально гнучкого й зручного інтерфейсу для програми, створення найрізноманітніших багаторівневих і спливаючих меню, обробку подій миші та клавіатури, роботу з графікою. Розробник може використовувати у програмі як стандартні, так і вбудовані діалоги, що застосовуються для організації зворотного зв'язку з користувачем. Додаток може здійснювати роботу з таймером, обробляти файли та каталоги на жорсткому диску, а також надавати доступ до баз даних. У VBA є можливість впровадження в додаток різних об'єктів, які підтримуються іншими програмами. Крім цього, розробник може реалізувати зв'язок одного або декількох комп'ютерів, на яких встановлено створене додаток, з мережею Internet.
Також мова програмування VBA - є реалізація об'єктно-орієнтованого написання програм у системі MS Office, а зокрема в процесі практики досліджувалося використання VBA для MS Word і MS Excel. Синтаксис мови - здавна прокладені правила мови Basic - один з найбільш ранніх мов програмування. Процес написання програми на VBA - послідовне заповнення параметрів різних об'єктів. Мова VBA, є потужним програмним засобом, здійснена можливість обробки файлової інформації. Але найяскравішим гідністю мови є можливість занесення результатів обчислення і будь-яких даних в Office програми, в MS Word і Ms Excel.
Тобто можна відзначити, що в даний час велика увага приділяється програмуванню на Visual Basic for Applications. Саме тому завдання, видане на навчальну практику, розробляється на даній мові програмування.
1 ПОСТАНОВКА ЗАВДАННЯ
Формулювання завдання
Для MS WORD:
Оригінальний текст (слова, прогалини, знаки) задано одним рядком. Знаходження в ній слів, які починаються і закінчуються однаковою буквою.
Для MS EXCEL:
У матриці знайти суму елементів, які розташовані по головній діагоналі. Елементи всіх парних рядків розділити на цю суму.
1.2 Вихідні дані
Для WORD:
S 1: рядок; {рядок, введений користувачем}
Для EXCEL:
a: двовимірний масив [5,5] вещ; {масив коефіцієнтів першого полінома}
Обмеження на вихідні дані
Для EXCEL:
0 <= i <5
0 <= j <5
Проміжні дані
Для WORD:
S 3: рядок; {містить слово, потрібне за умовою}
k: цілий; {лічильник, який визначає кількість символів у кожному слові}
start: цілий; {лічильник перебору символів у рядку}
i: цілий; {лічильник, що показує починаючи з якого символу буде
здійснюватися читання слова}
Для EXCEL:
B: масив [10] дійсних чисел; {містить елементи головної діагоналі}
Результати
Для WORD:
S 3: рядок; {містить шукані слова}
Для EXCEL:
a: масив [5,5] вещ; {кінцева матриця чисел}
2 ОПИС МОВИ VBA І СИСТЕМИ ПРОГРАМУВАННЯ У OFFICE
Операційна система Windows корпорації Microsoft має дивовижно зручним інтерфейсом і безліччю інтелектуальних засобів, які звільняють користувача від рутинної роботи, властивої іншим операційним системам. Природним і незамінним доповненням цієї операційної системи є програмні продукти Microsoft Office, які навіть починаючому користувачеві дозволяють з легкістю створювати ідеальну за своїм оформлення документацію, проводити фінансові, інженерні та інші розрахунки, створювати і працювати з базами даних, конструювати презентації і слайди. Разом, операційна система Windows і програмні продукти Microsoft Office, підкорили весь світ. Корпорація Microsoft інтегрувала в свої офісні продукти, в саму операційну середу дивовижний по простоті і надзвичайний по своїй ефективності мову програмування Visual Basic for Applications або скорочено VBA. За допомогою цієї мови тепер кожен користувач може автоматизувати роботу програми і максимально пристосувати його роботу для вирішення поточних завдань, не тільки додавши інтерфейсу нову функціональність, а й видаливши з нього непотрібні для цього додатка елементи, тим самим забезпечивши йому додаткову стабільність.
Можливості VBA зовсім не поступаються іншим системам програмування Windows і постійно зростають. До того ж багато систем програмування в Windows і VBA використовують загальні бібліотеки об'єктів, серед яких - об'єкти Excel, Word і т.д.
Типи даних
Типи даних відносяться до фундаментальних понять будь-якої мови. Тип даних визначає множину допустимих значень, що може приймати зазначена змінна. У VBA є наступні типи даних:
Byte (байтовий);
Boolean (логічний);
Integer (цілий);
Long (довгий цілий);
Single (з плаваючою точкою звичайної точності);
Double (з плаваючою точкою подвійної точності);
Currency (грошовий);
Decimal (масштабований цілий);
Date (дати і час);
Object (об'єктний);
String (рядковий);
Variant (довільний);
тип даних, який визначається користувачем;
специфічні типи об'єктів.
Для зберігання цілочисельних даних призначені типи Integer (діапазон значень від -32768 до 32767, в оперативній пам'яті займає два байти) і Long (діапазон значень від -2147483648 до 21447483648 і в оперативній пам'яті займає чотири байти). Аналогічно, для зберігання десяткових чисел з плаваючою точкою представлені типи даних Single (діапазон від -3,4 Е38 до -1,4 Е-45 для від'ємних чисел і від 1,4 Е-45 до 3,4 Е38 для позитивних чисел, в оперативній пам'яті займає чотири байта) і Double (діапазон від -1,7 Е-308 до -4,9 Е-324 для від'ємних чисел і від 4,9 Е-324 до 1,7 Е308 для позитивних чисел, в оперативній пам'яті займає 8 байтів). Для зберігання чисел з фіксованою точкою служить тип Currency. Змінна даного типу займає в оперативній пам'яті 8 байт. Ціла частина числа може містити до 15 цифр, а дробова - до 4.
Використовуючи змінні строкового типу, можна зберігати рядки як фіксованою, так і змінної довжини. Для змінної, що має тип рядка з фіксованою довгою, вказується максимальна довжина рядка. Якщо довжина рядка, що присвоюється цій змінній, менше заданої довжини рядка, то залишилися вільні місця заповнюються пробілами. При присвоєнні змінної рядки, кількість символів якої перевищує максимальне значення, всі зайві символи відкидаються. Кількість символів, що зберігаються в рядку зі змінною довжиною, визначається довжиною привласнюються їй даних. При використанні ASCCII кодування для кожного символу рядка виділяється один байт, а при використанні кодування Unicode - два байти. Крім цього виділяється 10 байт для рядка в цілому.
Для зберігання двійкових даних рекомендується використовувати масив змінних типу Byte. Кожен елемент масиву даного типу займає один байт оперативної пам'яті.
Логічний тип даних Boolean використовується для зберігання даних, які приймають одне з двох значень: True або False. За замовчуванням змінної даного типу присвоюється значення False. В оперативній пам'яті вона займає два байти.
Тип даних Date використовується для зберігання дати та часу. Змінна цього типу вимагає 8 байт в оперативній пам'яті.
Тип даних Variant є універсальним. Змінна цього типу може зберігати будь-який з вище перерахованих типів даних. Всі необхідні перетворення виконуються при присвоєнні змінній значення. Виділяється змінної обсяг оперативної пам'яті залежить від типу присвоєного значення, але не може бути менше 16 байт.
Для зберігання посилань на об'єкти використовується тип даних Object. Кожна змінна даного типу вимагає 4 байта.
При розробці програм в середовищі VBA в залежності від типу даних змінних рекомендується використовувати префікси, наведені в таблиці 2.1
Таблиця 2.1 - Префікси, що використовуються в найменуваннях змінних
Тип даних | Префікс | Приклад |
Boolean | bin | binSuc |
Byte | byt | bytImege |
Currency | cur | curPrn |
Date | dtm | dtmFinish |
Double | dbl | dblSum |
Integer | int | intKol |
Long | Ing | IngLoop |
Single | sng | sngTotal |
String | str | strLast |
Variant | vnt | vntValui |
Опис змінних
Терміни час життя і область видимості змінної означають місце використання змінної в додатку, а також час існування змінної після її створення.
Область видимості змінної визначає частину коду, яка «знає» про існування даної змінної. При визначенні змінної в процедурі отримати або змінити її значення можна тільки з коду цієї процедури. Іноді, однак, необхідно використовувати змінну з більш широкою галуззю видимості. Наприклад, змінну, значення якої доступні для всіх процедур модуля або проекту. Існують три типу області видимості змінної:
змінні рівня процедури розпізнаються тільки в процедурі, в якій вони описані. Вони описуються за допомогою інструкцій Dim або Static. Такі змінні називаються локальними;
змінні рівня модуля використовуються тільки в модулі, в якому вони описані, але не в інших модулях даного проекту. Описуються за допомогою оператора Dim або Private в області опису модуля, тобто перед описом процедур;
змінні рівня модуля, описані за допомогою інструкції Public, є доступними для всіх процедур проекту. Такі змінні називаються відкритими.
Закрита (Private) змінна зберігає своє значення, тільки поки виконується процедура, в якій ця змінна описана. При завершенні процедури значення змінної втрачається, і при повторному запуску процедури його треба заново ініціалізувати. Змінні, описані оператором Static, зберігають своє значення по виходу з процедури, поки працює програма.
Для обов'язкового оголошення всіх змінних на початку модуля, в так званій області модуля General Declarations, треба помістити директиву Option Explicit. Використання цієї директиви не допускає можливості неправильного вводу імені змінної, яка застосовується в одній або не - скількох процедурах модуля. Наприклад, якщо змінна була оголошена як Ставка, а в коді при наборі замість російської букви с була використана латинська літера с, то це призведе до помилки. У відсутність директиви Option Explicit подібну помилку було б важко відстежити.
Опис масивів
Як і в інших мовах програмування, в VBA можна використовувати масиви. Масив, як і будь-яку змінну, треба оголошувати, використовуючи оператори Dim, Static, Private і Public, які також задають область видимості змінної. У масиві допускається опис до 60 розмірностей. При визначенні розмірності треба вказувати верхню, а також нижню межу. Якщо нижній індекс не заданий явно, нижня межа масиву визначається директивою Option Base. Якщо відсутній директива Option Base, нижня межа масиву дорівнює нулю. Наприклад, в наступному операторі оголошується одновимірний масив (вектор) з 12 цілих чисел, причому за умовчанням перший елемент масиву - А (0), а останній - А (11). У цьому випадку кажучи, що 0 - базовий індекс.
Dim А (11) As Integer
Даний же оператор оголошує двомірний масив 3 '3 (матрицю), що складається з дійсних чисел.
Dim B (2, 2) As Single
Можна змінити базовий індекс, написавши в області оголошень модуля директиву Option Base 1. Після цього індекси масивів А і В будуть починатися з одиниці. Наприклад, в наступному операторі оголошується вектор, що складається з 11 елементів.
Option Base 1
Dim A (11) As Integer
Іншим способом зміни базового індексу є використання ключового слова Те при оголошенні масиву.
Dim B (1 To 3, 1 To 3) As Single
Dim A (1 To 12) As Integer
Ініціалізацію елементів масиву можна робити по-різному:
послідовністю операторів:
Dim B (1, 1) As Single
B (0, 0) = 2: B (0, 1) = 4
B (1, 0) = 1: B (1, 1) = 6
оператором циклу:
Dim M (1 To 9, 1 To 9) As Integer
Dim i As Integer
Dim j As Integer
For i = 1 To 9
For j = 1 To 9
M (i, j) = i * j
Next
Next
Іноді в процесі виконання програми потрібно змінювати розмір масиву. У цьому випадку спочатку масив оголошують як динамічний. Для цього при оголошенні масиву не треба вказувати розмірність, наприклад:
Dim R () As Single
Потім у програмі слід обчислити необхідний розмір масиву в деякої змінної, наприклад n, і змінити розмір динамічного масиву за допомогою оператора ReDim. У наступному прикладі спочатку оголошується динамічний масив, а потім встановлюються межі його індексу.
Dim R () As Double
ReDim R (1 To 10)
Оператори мови та керуючі конструкції
Математичні оператори дозволяють виконувати в програмі дії над числами. У таблиці 2.2 наведені арифметичні оператори і виконувані ними функції.
Таблиця 2.1 - Префікси, що використовуються в найменуваннях змінних
Операція | Знак |