Об’єктно-орієнтоване програмування у середовищі VB і об’єкти MS Excel
Об’єкт в мові VBA має набір властивостей та методів. Властивістю об’єкта є змінна, яка призначена даному об’єкту і не може використовуватися самостійно. Аналогічно, методом називається функція або підпрограма, яка може використовуватися тільки разом з даним об’єктом. Мова VBA містить готові об’єкти, призначені для використання в різних додатках Microsoft Office. В середовищі Microsoft Excel такими об’єктами є: книга, лист, діапазон листа, діаграма. Строка листа, столбец листа и отдельная ячейка также считаются диапазоном. Книга определяется по названию файла, ее содержащего. Листы и диаграммы книги идентифицируются либо по номеру в книге, либо по имени листа (диаграммы). Столбцы и строки задаются их номерами. Диапазон на листе задается либо координатами двух углов диапазона, либо именем, если оно ему было присвоено. Ячейка задается номерами строк и столбцов. В мові VBA можна використовувати змінні, значенням яких служитьоб'єкт: книга, лист або діапазон. Для того, щоб визначити таку змінну, використовують зарезервовані слова Workbook (книга), Worksheet (лист), Range (діапазон), Chart (діаграма). Є також функції, які можуть присвоїти значення конкретного об'єкта: Workbooks (“book1.xls) має значенням книгу у файлі з іменем “book1.xls”; Worksheets (“Лист1”) або Worksheets (1) має значенням перший лист активної книги; Range (“B3: G7”) має значенням діапазон активного листа з координатами B3 і G7; Для того, щоб у програмі змінну WH оголосити як аркуш книги, а змінну RR оголосити як діапазон, необхідно записати так: Dim WH as Worksheet, RR as Range ‘ Присвоєння об'єкта в VBA має спеціальний вид з використанням слова Set: Set WH = Worksheets (“Лист2”) Set RR = WH.Range (“A1: H8”) Після цих команд змінна WH вказує на лист відкритої книги з іменем “Лист2”, а змінна RR відповідає діапазону A1: H8 цього листа. Тут запис WH.Range означає метод Range об'єкту WH, що повертає діапазон аркуша за його координатами. Нижче подано перелік деяких властивостей і методів, що можна застосувати до об'єктів цих класів: метод Activate для аркуша – робить активним даний лист; властивість Cells (j, k) для аркуша означає клітинку у j-му рядку і k-му стовпчику аркуша; властивість A ctiveCell для аркуша означає поточну клітинку аркуша; властивість Selection для аркуша означає сукупність всіх виділених діапазонів на аркуші; метод Select для діапазону робить виділеним даний діапазон; властивість Cells (j, k) для діапазону означає клітинку у j-му рядку і k-му стовпчику діапазону; властивість Offset (j, k) для діапазону означає клітинку із зміщенням на j рядків і k стовпчиків від верхнього кута діапазону; властивість Rows.Count повертає кількість рядків у діапазоні; властивість Columns.Count повертає кількість стовпчиків у діапазоні; властивість CurrentRegion для клітинки повертає максимальний діапазон, що містить дану клітинку і обмежений з усіх сторін пустими рядками і стовпчиками; властивість Font діапазону або клітинки представляє собою опис шрифта для запису даних; властивість Value для клітинки задає значення, що зберігається або обчислюється в клітинці; метод Activate для клітинки робить цю клітинку поточною; властивість Areas (k) означає k-й по порядку діапазон серед кількох виділених діапазонів.
|