упний оператор посилається на об'єкт
Comment осередку Al:
Range ("Al"). Comment
Якщо це перше примітка на аркуші, то на даний об'єкт Comment можна послатися наступним чином:
Comments (1)
Щоб відобразити примітка осередку Al у вікні повідомлення, використовуйте оператор MsgBox Range ("Al"). Comment.Text
Якщо в комірці Al немає примітки, то оператор видасть помилку.
Той факт, що властивість може повертати об'єкт, досить важливий (можливо, це складно зрозуміти, але дана концепція має вирішальне значення в програмуванні на VBA).
Об'єкти, вкладені в Comment
Управління властивостями спочатку здається складним завданням, тому що деякі властивості повертають об'єкти. Припустимо, необхідно визначити колір фону конкретного примітки на аркуші Лист1. Переглянувши список властивостей об'єкта Comment, ви не знайдете нічого, що відноситься до визначення кольору . Замість цього виконайте такі дії. p> 1. Використовуйте властивість Shape об'єкта Comment, яке повертає об'єкт Shape, який міститься в примітці.
2. Використовуйте властивість F ill об'єкта Shape, яке повертає об'єкт FillFormat
3. Використовуйте властивість ForeColor об'єкта FillFormat, яке повертає об'єкт ColorFormat,
4. Використовуйте властивість RGB (або властивість SchemeColor) об'єкта ColorFormat, щоб задати колір.
Інакше кажучи, отримання кольору фону об'єкта Comment пов'язано з доступом до інших об'єктам, які в ньому містяться. Нижче описана ієрархія задіяних об'єктів.
Application (Excel)
Workbook
Worksheet
Comment
Shape
FillFormat
ColorFormat
Слід попередити, що в цьому можна легко заплутатися! Але як приклад "Елек-
гантности " VBA подивіться, як код для зміни кольору примітки можна записати за допомогою одного оператора:
Worksheets ("Лист1"). Comments (1). Shape.Fill.ForeColor _
. RGB = RGB (0, 255, 0)
Ви вправі використовувати також властивість SchemeColor (задається в діапазоні від 0 до 80):
W orksheets ("Л і с т 1"). C o m m e n t s (1). S h a p e. F i l l _. F o r e C o l o r.SchemeColor = 12
У даному типі посилання відразу важко розібратися, але згодом нескладно буде орієнтуватися в ієрархії об'єктів, так як в Excel при записі послідовності дій практично завжди запитання ієрархії задіяних об'єктів ставиться на першому місці.
Бентежать кольору?
Колір, який ви задаєте в коді VBA, не завжди відповідає тому, який з'являється на екрані. Ситуація завжди може ускладнитися ще більше. Залежно від об'єкта, з яким ви працюєте, де для завдання кольору використовуються різні об'єкти і властивості.
Колір об'єкта Shape можна задати за допомогою властивості RGB або властивості SchemeColor. p> Властивість RGB дозволяє визначити колір у вигляді значень червоного, зеленого і синього компонентів. Це властивість аналогічно функції RGB, що має три аргументи, кожен з яких задається в діапазоні від 0 до 255. Функція RGB повертає значення в діапазоні від 0 до 16777215. Але Excel може обробляти тільки 56 кольорів. Тому фактичний колір, отриманий при використанні функції RGB, буде самим точною відповідністю заданому кольору з 56-кольорової палітри робочої книги. p> Властивість SchemeColor приймає значення від о до 80. У довідковій системі ви не знайдете нічого про те, що насправді являють собою ці кольори. Однак вони обмежені зразками квітів на палітрі робочої книги.
При роботі з квітами в об'єкті Range вам доведеться звернутися до його вкладеному об'єкту I n t e r i o r. Ви можете задати колір за допомогою одного з властивостей останнього: Color або Color Index. Коректні значення властивості Colorindex знаходяться в діапазоні від 0 до 56 (0 означає відсутність заливки). Ці значення відповідають палітрі кольорів робочої книги. До жаль, порядок, в якому відображаються кольори, абсолютно не пов'язаний з системою нумерації значень властивості Colorindex, тому для визначення з допомогою ColorIndex конкретного кольору краще записати макрос, Однак навіть у цьому випадку не буде гарантії, що користувач не змінив колірну палітру робочої книги. В останньому випадку властивість Colorindex видасть далеко не той результат, який ви очікували.
При використанні властивості Color можна визначити значення кольору за допомогою функції RGB. Однак пам'ятайте, що фактично відображається колір буде всього лише найближчим кольором на палітрі робочої книги, який відповідає заданому вами значенням.
речі, щоб змінити колір тексту в примітці, зверніться до об'єкта TextFrame
об'єкта Comment, який містить об'єкт Characters, що включає, у свою чергу, об'єкт ...