Лекція на тему Основні об’єкти та сімейства в середовищі VBA
« НазадОсновні об’єкти та сімейства:
Діапазон комірок може задаватись не тільки як об’єкт Range, а й з використанням функцій робочого аркуша (об’єкта Worksheet) Rows та Columns. Наприклад: Rows(4); Columns(3). Альтернативним способом звернення до комірки робочого аркуша є властивість Cells робочого аркуша (об’єкта Worksheet). Наприклад, комірку А5 робочого аркуша можна описати як Range(“А5”) або Cells(5, 1) (комірка першого рядка і п’ятого стовпця). Крім того можливі такі способи опису діапазону комірок А2:С7: 1) Range(“А2:С7”) 2) Range(Cells(2, 1), Cells(7, 3)). Повне та неявне посилання на об’єкт.Повне посилання на об’єкт складається з переліку імен вкладених один в одного об’єктів. Наприклад, повне посилання на комірку А3 робочого аркуша з ім’ям Мій макрос робочої книги Практ_27 має вигляд: Application.WorkBooks(„Практ_27”).Worksheets(„Мій макрос ”).Range(„А3”) Кожного разу застосовувати таке посилання досить обтяжливо і не завжди в цьому є потреба. Натомість в багатьох випадках застосовують неявне посилання на об’єкт. Якщо посилання використовується у програмі, яка буде виконуватись у середовищі Ms Excel, то достатньо застосувати відносне посилання у вигляді WorkBooks(„Практ_44”).Worksheets(„Мій макрос”). Range(„А3”). Якщо вказана книга є активною, то посилання можна ще скоротити Worksheets(„Мій макрос”). Range(„А3”). Якщо і вказаний робочий аркуш є активним, то посилання можна скоротити ще: Range(„А3”). При роботі з властивостями і методами одного й того ж об’єкта потрібно повторювати при кожному зверненні одне й теж ім’я об’єкта. Між тим існує оператор with, який дозволяє спростити написання програми і водночас покращити читабельність тексту програми. Наприклад замість коду Range(“A3”).Value=32 Range(“A3”).Font.Italic=True Range(“A3”).Font.Color=vbRed можна записати with Range(“A3”) .Value=32 .Font.Italic=True .Font.Color=vbRed end with або ще так with Range(“A3”) .Value=32 with Font .Italic=True .Color=vbRed end with end with З повагою ІЦ "KURSOVIKS"! |