Читаем VBA для чайников полностью

Подобно тому, как свойства объекта указывают на подчиненные объекты, с помощью свойств можно выяснить, какому контейнеру принадлежит сам объект. Например, если в Visio в переменной хранится ссылка на объект Pages и вы хотели бы выяснить, к какому документ) она относится, то выражение Pages.Parent возвратит ссылку как раз на нужный документ. А если вам потребуется узнать, какому приложению принадлежит данный объект, то, как правило, можно пропустить все промежуточные ступени иерархии и обратиться сразу на самый верхний уровень с помощью свойства Application: Pages.Application.

<p>Методы в действии</p>

Методы - это именованные действия, которые объект может выполнить по команде.

Ввиду того, что любой метод является неотъемлемой частью объекта, объект сам знает, что ему делать, когда вы вызываете метод.

Например, объект, задающий графический элемент, может иметь метод ReSize, изменяющий размеры, и метод Rotate, поворачивающий графический элемент на странице документа.

Объект, представляющий ячейку рабочего листа, может иметь метод Calculate, пересчитывающий значение в ячейке, и метод Clear, удаляющий ее содержимое. Объект, представляющий целый документ, скорее всего имеет методы Print (Печать) и Save (Сохранить).

На самом деле, методы представляют собой не что иное, как процедуры, привязанные к конкретному объекту. Чтобы вызвать метод, необходимо напечатать имя объекта, точку, а затем имя метода. Оставив в стороне сумасшествие металла, давайте рассмотрим объект objМузыкаДжаз в предположении, что он представляет цифровую запись джазовых композиций в мультимедиа-программе. Вполне возможно, что такой объект имеет метод Воспроизведение. Вот как его можно вызвать:

objМузыкаДжаз.Воспроизведение

В основном техника вызова методов вполне согласуется с техникой вызова процедур и функций VBA, о которой шла речь в главе 7.

* Чтобы вызвать метод, требующий ввода аргумента, напечатайте аргумент после имени метода. В следующем примере метод Воспроизведение получает аргумент, говорящий о том, сколько раз нужно воспроизвести пьесу:

objМузыкаДжаз.Воспроизведение3

* Если метод имеет несколько аргументов, печатайте их через запятую (в следующем примере предполагается, что Негромко является именованной константой, задающей невысокий уровень громкости, a intCкopocть - переменной, определяющей скорость воспроизведения):

objМузыкаДжаз.Воспроизведение 2, Негромко, intCкopocть

* Чтобы вызвать метод, возвращающий значение, присвойте метод переменной или используйте его в выражении как обычную процедуру типа Function. В этом случае все аргументы, независимо от их числа, необходимо заключить в скобки:

dateВремяВоспроизведения = _

objМузыкаДжаз.Воспроизведение(2, Негроко,intCкopocть)

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

Обратите внимание, что метод меняет установки одного или нескольких свойств. Например, объект objМузыкаДжаз может иметь свойство только для чтения ЧислоИсполнений, допускающее изменение только методом Воспроизведение, но его значение в то же время можно выяснить оператором типа intИсполнения = objМузыкаДжаз.ЧислоИсполнений. Некоторые объекты имеют методы, единственное назначение которых - установка значений определенных свойств.

<p>События</p>

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

* Физические действия пользователя программы, например щелчок кнопкой мыши, перемещение курсора, прыжки и пляски вокруг компьютера. (Ну, ладно-ладно, прыжки и пляски вокруг компьютера, очевидно, не относятся к событиям, распознаваемым VBA.)

* Ситуации, в которые попадает объект в ходе выполнения программы. Например, если речь идет об объекте, представляющем документ, то к событиям можно отнести открытие и закрытие документа, добавление и удаление страниц (такие события в Word распознаются объектами Application и Document ). В Visio объекты Pages могут отвечать на девять различных событий, среди которых BeforeShapeDelete (Перед удалением графического элемента) и TextChanged (Изменение текста). Другие примеры таких не связанных с формами событий вы найдете в главе 4.

То, какие события данный объект может распознавать, определяете не вы, а ваше VBA-приложение. К вашим задачам относится создание программного кода, определяющего, что должен делать объект в ответ на распознаваемое событие. Здесь следует обратить внимание на такой момент: вам не нужно вызывать процедуру обработки события из программного кода- при наступлении соответствующего события объект автоматически предпримет запрограммированные вами действия.

Перейти на страницу:

Все книги серии Для чайников

Похожие книги

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
C++
C++

С++ – это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы. Ключевым понятием С++ является класс. Класс – это тип, определяемый пользователем. Классы обеспечивают сокрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. С++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline-подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В С++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. С++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из С++ программ можно использовать C библиотеки, и с С++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C. Эта книга предназначена главным образом для того, чтобы помочь серьезным программистам изучить язык и применять его в нетривиальных проектах. В ней дано полное описание С++, много примеров и еще больше фрагментов программ.

Бьёрн Страуструп , Бьярн Страустрап , Мюррей Хилл

Программирование, программы, базы данных / Программирование / Книги по IT