14.10. Властивості колекції Worksheets
14.10.1. Count, Item, Visible - робота з об'єктами
Ми вже не раз стикалися з цими властивостями для інших об'єктів. Count дозволяє дізнатися кількість об'єктів в колекції, Item - звернутися до об'єкта по імені або індексу, Visible - відображати і приховувати об'єкт.
14.11. об'єкт Worksheet
Worksheet - робочий лист - його методи, властивості і події знаходяться в безпосередній близькості від осередків, з якими, в основному, ведеться робота при програмуванні для MS Excel.
14.12. Методи об'єкта Worksheet
Практично всі часто використовувані методи Workheet вам вже знайомі - або за описами попередніх об'єктів і колекцій Excel. або - по Microsoft Word.
14.12.2. Paste, PasteSpecial, про роботу з Selection
PasteSpecial здійснює спеціальну вставку. Наприклад, за допомогою цього методу можна скопіювати вміст комірок, що містять формули і вставити його в інші осередки, перетворивши таким чином, щоб вставлені були лише обчислені значення формул.
Перед запуском макросу виділіть область, заповнену даними.
Лістинг 14.11. Робота з буфером обміну
14.12.3. Protect і Unprotect - захист і зняття захисту
Метод Protect захищає лист від змін. Його можна викликати без параметрів, однак, при необхідності ви можете дуже тонко налаштувати захист аркуша. Наприклад, поставити пароль, дозволити користувачеві деякі операції і т.д.
Метод Unprotect знімається захист аркуша.
Установка захисту, особливо - захисту з паролем - може бути корисною, якщо ви хочете, щоб користувач гарантовано не міг внести зміни в будь-якої з листів вашої книги.
14.13. Властивості об'єкта Worksheet
14.13.1. Cells - осередки листа
Це властивість повертає об'єкт типу Range. який представляє собою все осередки листа. За допомогою Cells можна звертатися до кожної конкретної осередку окремо. Наприклад, щоб записати число 8 в клітинку, що знаходиться на перетині першого рядка і п'ятого стовпчика поточного листа. треба виконати таку команду (лістинг 14.12.)
Лістинг 14.12. Вставка даних в осередок, використовуючи стиль R1C1
Вище ми користувалися властивістю Cell для того, щоб працювати з даними на аркуші. Крім запису даних в осередку, дані можна зчитувати, осередки можна форматувати і т.д. Про це - нижче.
14.13.2. EnableCalculation - управління автоматичним перерахунком осередків
Дозволяє вмикати та вимикати автоматичний перерахунок осередків. У проектах великого розміру перерахунок осередків може займати багато системних ресурсів.
Це властивість можна встановити в False якщо ви, наприклад, здійснюєте висновок великого обсягу даних на лист і хочете прискорити цей процес.
14.13.3. Next і Previous - переміщення по листам книги
Ці властивості дозволяють отримувати посилання на наступний, і, відповідно, попередній лист книги.
14.13.4. QueryTables - таблиці запитів
Повертає колекцію QueryTables. що містить об'єкти QueryTable - таблиці запитів, які використовуються для вставки в документ інформації з баз даних.
14.13.5. Range - робота з осередками і діапазонами комірок
Це властивість повертає об'єкт Range. відповідній клітинці або діапазону комірок. зазначених при його виклику. Власне кажучи, Range поряд з Cells - це основні інструменти для роботи з осередками листа. Наприклад, так (лістинг 14.13.) Можна вставити число 4 в осередок E1:
Лістинг 14.13. Додаємо дані в осередок
А така конструкція (лістинг 14.14.) Дозволяє додати по 1 до значення кожної з осередків діапазону A1: K100
Лістинг 14.14. Робота з діапазоном осередків
При використанні конструкції For-Each обхід осередків здійснюється по рядках.
Нижче ми розглянемо об'єкт Range докладніше.
14.13.6. UsedRange - заповнені осередки
Це властивість повертає об'єкт Range. що містить всі заповнені осередки на аркуші. Це може бути корисним, наприклад, якщо ви хочете скопіювати ці осередки на інший аркуш і в інших подібних ситуаціях.
14.13.7. Visible - приховування та відображення листів
Дозволяє приховувати і відображати листи. За замовчуванням листи відображаються - їх властивість Visible встановлено в True. встановивши його в False. ви приховуєте лист.
14.14. Події об'єкта Worksheet
Використовуємо подія Change для перевірки даних, що вводяться користувачем в різні осередки робочого аркуша. Наприклад, давайте напишемо програму, яка пропонує користувачеві створити пароль і тут же повідомляє про те, наскільки його пароль надійний. Як критерій надійності будемо використовувати довжину пароля:
- Пароль високої надійності: довжина не менше 8 символів
- Пароль середньої надійності: довжина 5-7 символів
- Пароль низької надійності: до 5 символів.
Коли користувач ввів пароль в клітинку, в сусідній комірці повинен з'являтися прогноз надійності пароля. Нехай користувач буде вводити пароль в клітинку A2, в осередку B2 буде відображатися прогноз.
Для вирішення цього завдання створимо обробник події Change для листа. на якому будуть розташовані вищевказані поля. Додамо в обробник такий код (лістинг 14.15.)
Лістинг 14.15. Перевірка даних при введенні в клітинку
14.15. висновки
У цій лекції ми познайомилися з книгами і листами MS Excel. У наступній лекції ми займемося роботою з осередками листа.