- •Об'єкти і класи Окно Immediate
- •Вікно властивостей об'єкту
- •Використання макросів при написанні програм
- •Огляд теми
- •Властивості і методи об'єктів
- •Посилання на об'єкти
- •Робота з колекціями
- •Ієрархія об'єктів
- •Виведення робочих книг на друк
- •Посилання на робочі листи
- •Значення Nothing
- •If СсилкаНаОб'ект Is Nothing Тhen
- •Копіювання і переміщення робочих листів
Посилання на робочі листи
Раніше вже були розглянуті способи звернення до необхідного робочого листа, зокрема, з використанням посилань, одержаних при створенні листа або витягнутих з колекції Worksheets. Ще один спосіб звернення до робочого листа полягає у використанні властивості ActiveSheet об'єкту Workbook. Ця властивість повертає посилання на лист (робочий або лист діаграм), що є в даний момент активним в цій робочій книзі. Якщо жоден лист робочої книги не є активним, властивість ActiveSheet повертає спеціальне значення Nothing (див. врізання "Значення Nothing").
Значення Nothing
В деяких випадках змінні, призначені для зберігання посилань на об'єкти, не посилаються ні на один з вже створених об'єктів (іншими словами, вони посилаються "в нікуди"). Для представлення таких посилань в мові VBA передбачено ключове слово Nothing.
Наприклад, змінна, яка повинна посилатися на якийсь об'єкт, на період між її оголошенням і ініціалізацією (коли їй привласнюється посилання на якийсь конкретний об'єкт) набуває значення Nothing:
Dim MyWB As Workbook
'MyWB містить значення Nothing
Set MyWB = Workbooks.Add
' MyWB ініціалізувала і тепер посилається на існуючий об'єкт
Значення Nothing в певних умовах можуть також, повертати деякі властивості і методи об'єктів (наприклад, властивість ActiveSheet в тому випадку, якщо в даний момент жоден лист не є активним). Щоб перевірити, чи посилається змінна на об'єкт або має значення Nothing, скористайтеся виразом If ... Then в поєднанні з оператором Is Nothing:
If СсилкаНаОб'ект Is Nothing Тhen
.
End If
і нарешті, якщо якийсь об'єкт більше не буде використовуватися в програмі, ви можете (і повинні) привласнити змінній, яка на нього посилається, значення Nothing:
Set ссылкаНаОбъект = Nothing
Після того, як останнє посилання| на об'єкт буде закрите шляхом привласнення їй значення Nothing, виділена під цей об'єкт пам'ять буде звільнена.
Копіювання і переміщення робочих листів
Робочий лист можна цілком копіювати, переміщати на нове місце в межах тієї ж робочої книги або пері носити його в іншу робочу книгу.
При копіюванні робочого листа використовується наступний синтаксис (метод Мove, використовуваний для переміщення робочих листів, має той же синтаксис, що і метод Сміттю): '
Sheet.Copy (Before, After)
У приведеному вище прикладі Sheet - посилання на копійований лист. Аргумен Before і Аftеr указують на лист, перед або після якого необхідно вставити копію початкового листа. Пам'ятайте про те, що передавати значення відразу двом цим аргументам не допускається. Наприклад, в результаті виконання наступного фрагмента коду Лист 1 копіюється і вставляється відразу після листа Лист 3:
Wоrkshееts("Листl"). Сміттю After := Wоrkshееts("ЛИСТЗ")
При копіюванні в межах однієї робочої книги до імені вставленого листа додається індекс, наприклад Листl (2) .
Щоб скопіювати лист в іншу робочу книгу, необхідно викликати метод Сміттю без передачі значень аргументам Before і After. В результаті Excel створить нову робочу книгу і помістить в неї копію початкового листа.
Ви не зможете безпосередньо скопіювати робочий лист у вже існуючу робочу книгу. Якщо ж в цьому виникла необхідність, слід застосувати об'єкт Range для копіювання даних в буфер обміну і після цього вставити скопійовані дані в нове місце.
Огляд
Будь-яка програма, написана вами на мові Before Before VВА, використовуватиме об'єктну модель Excel. У цьому уроці ви мали можливість загальне уявлення про цю об'єктну модель і ознайомитися з поряд важливих питань, наступних аспектів програмування, що стосуються, зокрема, в Excel.
Робота з об'єктами здійснюється за допомогою звернення до їх властивостей і методів.
Для зберігання посилань на об'єкти в Excel використовуються колекції.
Об'єктна модель Excel має ієрархічну структуру, верхнім вузлом в якій є об'єкт Application.
Робочі книги представлені об'єктами Workbook, посилання на які зберігаються в колекції Workbooks. При написанні програм можна використовувати методи об'єктів, призначені для створення нових і відкриття існуючих робочих книг, збереження і закриття книг, а також для виконання інших дій над робочими книгами.
Робочі листи представлені об'єктами Sheet, посилання на які зберігаються в колекції Sheets. Об'єкти Sheet містять методи, що дозволяють до· бавлять знищувати,віддаляти, копіювати і переміщати робочі листи.