47889 (608403), страница 4

Файл №608403 47889 (Организация документооборота с помощью "Visual Basic for Application") 4 страница47889 (608403) страница 42016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

Для свойств, использующих аргументы, аргументы указываются в скобках. Например, свойство Address объекта Range имеет пять аргументов— все необязательные. Показанный ниже оператор некорректен, так как пропущены скобки:

MsgBox Range("Al").Address False ' некорректно

Правильный синтаксисдля этого оператора выглядит так:

MsgBox Range("Al").Address(False)

Кроме того, оператор может записываться с использованием именованного аргумента

MsgBox Range("Al").Address(rowAbsolute:=False).

Объект Comment: пример использования

Чтобы лучше разобраться со свойствами и методами объекта, сосредоточимся на изучении конкретного объекта— Comment. Объект Comment создается с помощью команды Excel Вставка^Примечание и предназначается для вставки комментария в ячейки.

Справочные сведения по объекту Comment можно найти в информации о конкретном объекте в электронной справочной системе.

Использование электронной справочной системы

Самый простой способ получить справку о конкретном объекте, свойстве или методе — ввести ключевое слово в окне кода и нажать . Если это ключевое слово трактуется неоднозначно, появляется диалоговое окно выбора темы.

К сожалению, элементы, перечисленные в этом диалоговом окне, не всегда понятны, поэтому, чтобы найти нужный раздел, часто приходится обращаться к методу проб и ошибок.

Для случая введения Comment и нажатия Comment является объектом, однако он может также вести себя как свойство. При щелчке на первой теме отображается раздел, посвященный объекту Comment; если вы щелкнете на второй теме, то увидите раздел для свойства Comment.

Свойства объекта Comment

Объект Comment обладает шестью свойствами. Если свойство доступно только для чтения, это значит, что программа VBA может только получать свойство, но не изменять его.

Свойство Только для Описание

чтения

A p p l i c a t i o n Да Возвращает объект, представляющий приложение, в котором создавалось

примечание (т.е. Excel)

Author Да Возвращает имя человека,

создавшего примечание

Сreator Да Возвращает число, указывающее приложение, в котором создавался объект. Не используется в Excel для Windows (применяется только в Excel для Macintosh)

P a r e n t Да Возвращает родительский объект для примечания (это всегда объект Range)

Shape Да Возвращает объект Shape, который представляет форму, присоединенную к

примечанию

Visible Нет Если это свойство имеет значение True, то примечание отображается на экране

Методы объекта Comment

В таблице приведены методы, которые можно использовать в объекте Comment. Все они выполняют обычные операции, которые производятся над примечанием вручную. Однако вы никогда прежде не рассматривали эти действия как методы.

Таблица 1. Методы объекта Comment

Метод Описание

D e l e t e Удаляет комментарий

Next Возвращает объект Comment, представляющий следующий комментарий

P r e v i o u s Возвращает объект Comment, представляющий предыдущий комментарий

Text Возвращает или определяет текст в комментарии (метод имеет три аргумента)

Возможно, вас удивило, что T e x t — это метод, а не свойство. Этот формат приводит нас к важному умозаключению: различия между свойствами и методами не всегда четкие, а объектная модель не является идеально последовательной. На самом деле неважно, насколько точно вы будете различать свойства и методы.

Пока используется правильный синтаксис, не имеет значения, какую роль в коде выполняет ключевое слово — свойства или метода.


Коллекция Comments

Коллекция — это группа одинаковых объектов. Каждый рабочий лист имеет коллекцию Comments, состоящую из всех объектов Comment рабочего листа. Если на рабочем листе отсутствуют примечания, эта коллекция пуста.

Например, приведенный далее код ссылается на первое примечание листа Лист1 активной рабочей книги

Worksheets("Лист1").Comments(1)

Следующий оператор отображает текст, который содержится в первом примечании листа Лисг1:

MsgBox Worksheets("Лист1").Comments(1).Text

В отличие or большинства объектов, объект Comment не имеет свойства Name. Следовательно, чтобы сослаться на конкретный комментарий, используйте номер, а для получения необходимого комментария обратитесь к свойству Comment объекта Range .

Коллекция Comments — тоже объект, имеющий собственный набор свойств и методов.

Например, следующий пример определяет общее количество комментариев:

MsgBox ActiveSheet.Comments.Count

В данном случае используется свойство Count коллекции Comments, в котором хранится количество объектов Comment на активном рабочем листе. В следующем примере показан адрес ячейки, содержащей первое примечание:

MsgBox ActiveSheet.Comments(1).Parent.Address

В этом примере Comments (1) возвращает первый объект Comment коллекции Comments. Свойство P a r e n t объекта Comment возвращает его контейнер, представленный объектом Range. В окне сообщений отображается свойство A d d r e s s объекта Range. В итоге оператор показывает адрес ячейки, содержащей первое примечание.

Кроме того, вы можете циклически просмотреть все примечания на листе, используя конструкцию For Each-Next . Ниже приведен пример использования отдельных окон для раздельного отображения каждого примечания активного рабочего листа:

For Each cmt in ActiveSheet.Comments

MsgBox cmt.Text

Next cmt

Если вы не хотите, чтобы на экране находилось большое количество диалоговых окон с сообщениями, то используйте следующую процедуру для вывода всех примечаний в одном окне Intermediate:

For Each cmt in ActiveSheet.Comments

Debug.Print cmt.Text

Next cmt


О свойстве Comment

В этом разделе речь идет об объекте Comment. В справочной системе указано, что объект Range обладает свойством Comment. Если ячейка содержит примечание, свойство Comment возвращает объект— объект Comment. Например, следующий оператор ссылается на объект

Comment ячейки Al:

Range("Al").Comment

Если это первое примечание на листе, то на данный объект Comment можно сослаться следующим образом:

Comments(1)

Чтобы отобразить примечание ячейки Al в окне сообщения, используйте оператор MsgBox Range("Al").Comment.Text

Если в ячейке Al нет примечания, то оператор выдаст ошибку.

Тот факт, что свойство может возвращать объект, довольно важен (возможно, это сложно понять, но данная концепция имеет решающее значение в программировании на VBA).

Объекты, вложенные в Comment

Управление свойствами сначала кажется сложной задачей, потому что некоторые свойства возвращают объекты. Предположим, необходимо определить цвет фона конкретного примечания на листе Лист1. Просмотрев список свойств объекта Comment, вы не найдете ничего, что относится к определению цвета. Вместо этого выполните следующие действия.

1. Используйте свойство Shape объекта Comment, возвращающее объект Shape, который содержится в примечании.

2. Используйте свойство F i l l объекта 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 o r k s h e e t s ( " Л и с т 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.

Свойство RGB позволяет определить цвет в виде значений красного, зеленого и синего компонентов. Это свойство аналогично функции RGB, имеющей три аргумента, каждый из которых задается в диапазоне от 0 до 255. Функция RGB возвращает значение в диапазоне от 0 до 16777215. Но Excel может обрабатывать только 56 цветов. Поэтому фактический цвет, полученный при использовании функции RGB, будет самым точным соответствием заданному цвету из 56-цветовой палитры рабочей книги.

Свойство 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, включающий, в свою очередь, объект Font. Далее обратитесь к свойствам Color или Colorindex объекта Font. Ниже приведен пример, устанавливающий свойство Colorindex в значение 5:

Worksheets ("Лист1") . Comments (1). _

Shape.TextFrame.Characters.Font.Colorindex = 5


Содержит ли ячейка примечание

Следующий оператор отображает примечание ячейки А1 активного листа:

Характеристики

Тип файла
Документ
Размер
2,06 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7153
Авторов
на СтудИзбе
253
Средний доход
с одного платного файла
Обучение Подробнее