Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Структура мови програмування Visual Basic for Applications




Структура процедури

Що таке макрос.

План

1. Коротка історія мови VBA

2. Навіщо вивчати мову VBA.

3. Поняття об'єктної моделі VBA

7. Дані VBA

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

9. Створення змінних


Коротка історія мови VBA

Не дивлячись на новизну мови Visual Basic for Applications, історія його появи майже так само стара, як і вся комп'ютерна промисловість. Про мову VBA можна сказати, що він є діалектом мови BASIC, яка з'явилася на початку 60-х минулого сторіччя. (BASIC — це скорочення від англійського Beginner’s All Purpose Symbolic Instruction Code, або символьна мова програмування загального призначення для початківців).

Хоча за сьогоднішніми поняттями мова BASIC була досить обмеженою і, як тепер говорять, варварською, але віна була простою для вивчення і дуже скоро набула широкого поширення. Версії BASIC випускалися (і випускаються до цього дня) для всіх типів комп'ютерів. Мова GWBASIC виробництва компанії Microsoft (GW означало Graphics Workshop, Колоквіум графіки) була однією з перших мов програмування для сучасних персональних комп'ютерів. Віна поставлялася зі всіма операційними системами MS DOS до 5-й версії. Ранні персональні комп'ютери виробництва компанії IBM навіть мали версію BASIC, вбудовану в ПЗП.

З роками первинна версія BASIC була істотно допрацьована. Мінялася технологія програмування, і разом з нею під впливом розробників програмного забезпечення мінявся сам BASIC. Сучасний його діалект включає багато рис і властивостей, характерних для пізніших і довершених мов, таких як Pascal, С С++.

В кінці 80-х Microsoft випускає істотно покращену версію BASIC, названу QUICKBASIC. Ця версія увібрала в себе всі досягнення сучасних систем для розробки програмного забезпечення. Компанія Microsoft включала QUICKBASIC у всі версії MS DOS, починаючи з 6-й (але не в Windows 95).

Після декількох версій QuickBasic в 1992 г Microsoft випускає Visual Basic for Windows. Як і QuickBasic, Visual Basic for Windows включає всі сучасні досягнення технології програмування і дуже добре інтегрується з середовищем Windows. До складу Visual Basic for Windows входять команди і функції, необхідні для програмування під Windows: діалогові вікна, панелі меню, списки, кнопки, прапорці і багато що інше. Зокрема до складу Visual Basic входять функції для забезпечення технології OLE, тобто для обміну даними між декількома Windows-додатками. Сучасна версія Visual Basic for Windows передбачає підтримку елементів ACTIVEX і автоматизації, що дозволяє діставати доступ до функцій інших додатків з вашої програми, написаної на Visual Basic. Таким чином, Visual basic — це сучасна мова програмування під Windows, що йде своїми коріннями в старовинний BASIC.

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

Проте мови макросів виробництва різних компаній могли істотно відрізнятися один від одного. Нерідко користувачеві доводилося вивчати декілька таких мов, що неминуче призводило до зниження продуктивності. Щоб позбавити розробників від необхідності вивчення декількох мов, компанія Microsoft почала будувати свої мови макросів для додатків на основі елементів мови BASIC. В результаті мова макросів для програми Microsoft Word for Windows отримала назву Word BASIC, а відповідна мова для Microsoft Access 2.0-Access Basic.

Для уніфікації мов макросів різних додатків і для інтеграції макросів в технологію ACTIVEX і автоматизацію компанія Microsoft створила спеціальну версію мови Visual Basic, назвавши її Visual Basic for Applications. Excel 5 був першим комерційним продуктом, що включає підтримку мови VBA. З появою на ринку комплекту Microsoft Office 97 мова VBA була включена в програми Microsoft Word, Access, Excel, Power Point, Outlook.

Мова VBA в основному співпадає з Visual Basic for Windows, але має і істотні відмінності. Зокрема, макроси VBA зберігаються у файлі документа того додатку, в якому ви створюєте цей макрос, а не в окремому текстовому файлі. Наприклад, VBA-макрос створений в EXCEL, зберігається у файлі книги, VBA-макрос додатку WORD — в документі WORD, а макрос для програми Access — у файлі бази даних.

Запустити VBA-макрос можна тільки з програми, в якій він був написаний. Наприклад, ви не можете запускати макрос, написаний для EXCEL, з іншої програми, хоча ніщо не заважає вам примусити EXCEL виконати потрібний макрос, використовуючи автоматизацію. Хоча основні властивості VBA залишаються незмінними для кожного додатку, кожен додаток вносить свої макроси специфічні команди і об'єкти. Зокрема, VBA для Excel має багато команд, які можна застосовувати тільки до таблиць Excel. Так само, VBA для Word містить багато команд і функцій, які мають сенс тільки стосовно тексту, а VBA для Access має інструменти, що впливають виключно на бази даних.

Упровадивши одну мову макросів у всі свої додатки, Microsoft гарантує, що велика частина того, що ви вивчите про VBA, стосовно одного додатку, буде справедлива і для інших. Фактично мова Visual Basic версії 4 і вище теж підтримує VBA, і ви можете без зусиль перетворити свої макроси в повноцінну програму на Visual Basic.

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

 

 

Навіщо вивчати мову VBA.

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

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

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

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

§ Створити нову команду. Наприклад, можна об'єднати декілька команд з меню Excel для їх подальшого виконання за допомогою тільки одній комбінації клавіш або одного клацання миші;

§ Створити на панелі інструментів кнопку з новою функцією. На панелі інструментів можна поміщати нові кнопки для запуску написаних вами макросів;

§ Створити спрощений "зовнішній інтерфейс" для користувачів, мало знайомих з Excel. Наприклад, ви можете створити спеціальний шаблон для введення даних;

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

§ Створити закінчені додатки, керовані за допомогою макросів. Макроси Excel можуть відображати створені користувачем діалогові вікна і додавати нові команди в рядок меню;

§ Створити нові надбудови для Excel. Всі надбудови, що входять в постачання Excel, створені за допомогою макросів. Моя надбудова Power Utility Pak написана виключно на мові VBA. Ви також можете створювати власні надбудови.

Поняття об'єктної моделі VBA

В середині 80-х років з'явилася нова концепція - об'єктно-орієнтоване програмування (ТОП). Основна ідея такого підходу полягає в тому, що програмне застосування, як і навколишній нас світ, повинні складатися з окремих об'єктів, кожен з яких має особливі властивості і відрізняється своєю поведінкою. Основними елементами VBA також є об'єкти. Можна вважати, що кожен об'єкт VBA складається з програми і пов'язаних з нею даних. Excel містить більше 100 об'єктів, якими можна оперувати. До об'єктів відносяться робоча книга, робочий лист, діапазон осередків в робочому листі, діаграма і так далі

Об'єкти мають свою ієрархію. У основі ієрархічного принципу лежить здатність одних об'єктів служити контейнерами для інших об'єктів (тобто містити інші об'єкти). Наприклад, сама Excel - це об'єкт, який називається застосуванням (Application). Вона містить інші об'єкти, такі, як робочі книги (Workbook). Об'єкт Workbook також може містити інші об'єкти, наприклад, робочі листи (Worksheet), діаграми (Chart) та ін. У свою чергу об'єкт Worksheet містить такі об'єкти, як діапазон осередків (Range) та ін. Ієрархія усіх цих об'єктів називається об'єктною моделлю. На малюнку приведена спрощена схема об'єктної моделі Excel.

 

 

 

Рис 1. Об'єктна модель VBA

 

Подібні один до одного об'єкти складають колекцію. Наприклад, колекція Worksheets містить усі робочі листи деякої робочої книги. Колекція Commandbars вміщує всі об’єкти Commandbar ( рядки меню і панелі інструментів). При цьому самі колекції також є об'єктами.

Для звернення до об'єкту треба вказати його положення в ієрархії об'єктів, використовуючи точку як роздільник. Наприклад, щоб звернутися до робочої книги під ім'ям Книга1.xls, треба записати:

Application. Workbooks (“Книга1”)

Приведений вище запис викликає звернення до робочої книги Книга l.xls, яка входить в колекцію Workbooks. У свою чергу, колекція Workbooks міститься в об'єкті Application (тобто Excel). Розширивши це звернення до наступного рівня, можна звернутися до листа Лист1 у робочій книзі Книга1 таким чином:

Application. Workbooks ("Книга1 ").Worksheets ("Лист1")

Можна перейти ще на один рівень вниз і звернутися до деякого осередку:

Application. Workbooks ("Книга1"). Worksheets("Лист1"). Range("A1")

Якщо в подібних зверненнях пропустити деякі елементи, то замість них Excel використовуватиме активні об'єкти. Припустимо, Книга1 - це активна книга. Тоді попереднє звернення можна спростити таким чином:

Worksheets.(“Лucm1").Range(“A1”)

Якщо ж Лист1 - це активний робочий лист, то можна ще більш спростити звернення

Range("A1")

Об'єкти мають властивості. Можна сказати, що властивості — це параметри об'єкти. Наприклад, об'єкт Range (діапазон) має такі властивості, як Value (значення) і Name (ім'я), а об'єкт Chart (діаграма) — такі, як HasTitle (заголовок) і Турe (тип). За допомогою VBA можна не лише визначити властивості об'єкту, але і змінити їх.

Щоб звернутися до властивості, треба звернутися спочатку до об'єкту, а потім до властивості цього об'єкту, використовуючи точку як роздільник. Наприклад, можна звернеться до значення (властивість Value), що знаходиться в осередку А листа Лист1, таким чином:

Worksheets ("Лист1".Range("A1").Value

Використовуючи властивість Value можна присвоїти змінним програми значення відповідних осередків. Наприклад, щоб присвоїти змінній Peremennay значення з осередку А1 листа Лист1, треба скористатися наступним оператором VBA:

Peremennay= Worksheets("Лист1").Range("A1").Value

У об'єкту є метод. Метод — це дія, що виконується над об'єктом. Наприклад, один з методів для об'єкту Range (діапазон) являється ClearContents (очистити вміст), цей метод дозволяє очистити вміст діапазону.

Щоб вказати метод, треба спочатку звернутися до об'єкту, а потім до методу, використовуючи точку як роздільник. Наприклад, щоб очистити вміст осередку А15, треба записати:

Worksheets ("Лист1").Range("A1") ClearContents

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 1646; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.024 сек.