Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2а VB Лекція. Обєкти і класи.doc
Скачиваний:
1
Добавлен:
08.09.2019
Размер:
208.9 Кб
Скачать

Посилання на робочі листи

Раніше вже були розглянуті способи звернення до необхідного робочого листа, зокрема, з використанням посилань, одержаних при створенні листа або витягнутих з колекції 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 містять методи, що дозволяють до· бавлять знищувати,віддаляти, копіювати і переміщати робочі листи.