Сайт о телевидении

Сайт о телевидении

» » Объектная модель программы MS EXCEL. Объектная модель Excel

Объектная модель программы MS EXCEL. Объектная модель Excel

Основой объектной модели Excel является объект Worksheet, представляю­щий один рабочий лист в файле. Каждый объект Worksheet является частью коллекции Worksheets, которая принадлежит объекту Workbook, представляю­щему файл рабочей книги Excel. Так как в приложении Excel одновременно мо­жет быть открыто несколько рабочих книг, существует также и коллекция Workbooks, содержащая по одному объекту Workbook на каждый открытый файл. Как и во всех приложениях пакета Office, объект Application находится в вершине иерархии объектов и доступен в качестве неявной ссылки при работе в Excel.

Существует еще один тип листов в рабочих книгах Excel - лист диаграммы (объект Chart) - особая таблица, которая содержит только диаграмму. Коллек­ция Charts объекта Application реализует доступ ко всем диаграммам всех от­крытых файлов, а коллекция charts объекта Workbook - только к диаграммам данной рабочей книги. Диаграммы также могут быть внедрены в рабочие листы вместо того, чтобы иметь собственный лист. Такие диаграммы не являются ча­стью коллекции charts, а вместо этого доступны в составе коллекции Chartob-jects объекта Worksheet. Коллекция Sheets осуществляет доступ ко всем рабо­чим листам, как к таблицам, так и к диаграммам.

Большая часть того, что вы делаете в Excel, связана с объектом Range. Хотя имя этого объекта не отличается от своего двойника в приложении Word, их со­ставы различны. Однако его функции практически те же: обрамление части до­кумента, с которым производится работа. Диапазоном может выступать отдель­ная ячейка, двумерный блок ячеек на рабочем листе или трехмерный блок яче­ек, охватывающий несколько рабочих листов.

Еще одной важной составной частью объектной модели Excel является объект Chart. Существует один объект chart, содержащийся в коллекции charts для каждой диаграммы в рабочей книге. Каждому объекту Chart подчинено множе­ство объектов, представляющих составные части диаграммы, такие как оси и ле­генда.

Мы будем изменять наш макрос, зайдите в пункт меню "макросы", выберите наш и скажите "изменить":

Dim book As String

Dim sheet As String

Dim addr As String

book = Application.ActiveWorkbook.Name

sheet = Application.ActiveSheet.Name

Workbooks(book).Activate

Worksheets(sheet).Activate

Range("A1") = book

Range("B1") = sheet

Dim xList As Integer

xList = Application.Sheets.Count

For x = 1 To xList

s = addr + LTrim(Str(x))

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

То есть главный обьект - приложение. В приложении могут быть несколько книг (Workbook), внутри которых находятся листы (Worksheets) и листы разбиты на ячейки (Cell). При работе активными могут быть только одна книга и один лист. Вот я своим макросом и пытаюсь это выяснить. А заодно сколько листов в текущей книге.

DIM - обьявляет переменную с типом string. Используя обьект Application, мы получаем имена текущих книг и листа. С помощью Range("...") можно выделить ячейку и поместить значения в неё или считать. Вообщем обьекты имеют огромное количество свойств. Задача программиста на VBA знать эти свойства и методы.

Из всех офисных программ для создания пользовательских приложений чаще всего используется Excel. Этому есть два объяснения. Во-первых, данный пакет предназначен для широкого круга прикладных задач по обработке данных. Во-вторых, фактически именно с него началась история современного VBA. Всего несколько строчек кода, включенных в Excel, смогут создать программу для выполнения серьезных вычислений и оригинального анализа с использованием графики и выдачей отчетов. Однако для разработки собственных приложений необходимы следующие условия:

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

§ требуется освоить иерархическую модель объектов Excel вместе с соответствующими свойствами, методами и событиями, через которые производится управление средой Excel при разработке пользовательского приложения;

§ следует изучить среду разработки VBA, где вы можете писать код программ, создавать пользовательские формы и отлаживать свое приложение.

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

Например, объект Workbook представляет собой конкретный файл Excel. Он имеет свойства Name (имя файла), Path (имя каталога) и Author (имя автора файла). Метод Save сохраняет файл. Вот как выглядит использование этих методов:

Существует два способа ссылок на объекты: можно сослаться непосредственно на имя одного из объектов или на индекс в коллекции. Согласно самому простому определению коллекция - это группа похожих объектов. Все объекты Excel разделяются на два класса: единичные объекты и объекты в коллекции. Для первых ссылка осуществляется непосредственно по их имени, для вторых - по индексу в данной группе. Коллекции предоставляют возможность иерархической организации объектов. Например, коллекция Workbooks содержит все объекты Workbook. Чтобы сослаться на конкретную рабочую книгу, можно указать имя:

Workbooks("Book1.xls")

или номер
Workbooks(1)

Четыре ключевых объекта

Ключевыми объектами в Excel являются Application, Workbook, Worksheet и Range, которые образуют иерархию:

Объект Application представляет собой саму программу Excel. Все приложения Excel/VBA реализуются в Excel, поэтому можно рассматривать этот объект в качестве среды, в которой они осуществляются. Любые установки свойств или вызовы методов, совершенные с объектом Application, воздействуют на весь Excel и соответственно на все приложения VBA, выполняемые в его среде. Например, используя объект Application, можно сделать невидимой строку состояния Excel и изменить его заголовок:

Application.DisplayStatusBar = False
Application.Caption = "Пользовательское приложение"

Объект Workbook является файлом рабочей книги Excel. В терминах разработки приложений его можно рассматривать в качестве механизма доставки или контейнера для любого приложения VBA, созданного при помощи Excel. Любые установки свойств или вызовы методов, совершенные с объектом Workbook, воздействуют на данное приложение. Например, для установки защиты и сохранения рабочей книги можно использовать такой код:

With Application.Workbooks(1)

Save
End With

Объект Worksheet, содержащийся в Workbook, служит нескольким целям в приложении Excel/VBA. Он содержит ячейки, куда пользователь может включать формулы для выполнения вычислений. При этом свойства и методы объекта Worksheet обрабатывают электронную таблицу как единое целое. Например, следующий код изменяет имя электронной таблицы(рабочий лист) и делает ее невидимой:

With Application.Workbooks(1).Worksheets(1)

Name = "Работа с ценными бумагами"

Visible = False

Объект Range представляет собой одну или несколько ячеек в электронной таблице. Он используется в основном для хранения и вывода фрагментов данных: чисел, строк или формул. Ячейки электронной таблицы, которые представлены в объекте Range, обладают широкими возможностями. Например, пользователь способен получить доступ из ячейки к более чем 400 встроенным функциям Excel и вызвать функции VBA. Можно также установить связи с другими ячейками в той же самой электронной таблице, других электронных таблицах или других рабочих книгах. Гибкость и мощность объекта Range позволяют совершенствовать встроенный вычислительный блок Excel и создавать более сложные приложения для анализа данных.

Объект Application

Объект Application –это главный (корневой) объект в иерархии объектов Excel, представляющий само приложение Excel.Он имеет большое число свойств и методов, позволяющих установить общие параметры приложения Excel.Перечислим основные его свойства и методы.

Основные свойства объекта Application

1 ActiveWorkbook, ActiveSheet, ActiveCell-возвращают активную,соответственно,рабочую книгу,рабочий лист и ячейку.В следующем примере в активной ячейке вводиться срока “Отчет”:

ActiveCell.Value=”Отчет”

2 Caption-возвращает или устанавливает текст из заголовка главного окна Excel.В следующем примере в качестве заголовка окна приложения устанавливается текст “Отчет за май”

Application.Caption=”Отчет за май”

3.DisplayFormulaBar-логическое свойство, регулирующее отображение строки формул.Например в следующем коде строка формул не отображается: Application.DisplayFormulaBar

4 DisplayStatusbar- логическое свойство, регулирующее отображение строки состояния

5 Path-возвращает путь к файлу Excel.exe

6 StatusBar- возвращает или устанавливает текст, выводимый в строке состояния

7 Version –возвращает номер текущей версии Excel.Используется для проверки применения корректной версии.Например:

If Application.Varsion <> “9.0” Then Exit Sub

Объект Workbook и семейство Workbooks

В иерархии Excel этот объект идет сразу после объекта Application и представляет файл рабочей книги.

Основные свойства объекта Workbook и семейства Workbooks

1 ActiveSheet – возвращает активный лист книги

2 Name –возвращает или устанавливает имя книги

З Path-возвращает полное имя папки, в которой находиться данная книга

4 Saved-логическое свойство, которое устанавливает, не производились ли изменения в книге со времени его последнего сохранения

Основные методы объекта Workbook и семейства Workbooks

1 Activate – активизирует рабочую книгу так, что ее первый рабочий лист становится активным.Например:

Workbooks(“Отдел кадров”).Activate

2 Protect- защищает рабочую книгу от внесения в нее изменений

3 Close –закрывает книгу

4 Open- открывает существующую книгу.Синтакис:

Open(FileName), где FileName –имя открываемого файла

Например:

Open(“Storage.xls”)

Основными событиями этого объекта являются Open (происходит при открытии книги).Например, напишем процедуру обработки события Open объекта Workbook при ее открытии.При этом мы выведем некоторое сообщение:

Sub Workbook_Open()

MsgBox(“Привет”)

Объект Worksheet и семейство Worksheets

В иерархии Excel объект WorkSheet идет сразу после объекта Workbook и представляет рабочий лист

Основные свойства объекта Worksheet и семейства Worksheets

1 Name- возвращает или устанавливает имя рабочего листа

2 Cells –Возвращает семейство всех ячеек рабочего листа или объект Range-конкретную ячейку, если в скобках указаны номер строки и столбца, на пересечении которых ячейка расположенна.Например:

Worksheets(1).Cells.Interior.ColorIndex=3 –окрашивает все ячейки первого рабочего листа в красный цвет.

Worksheets(1).Cells(1,2).Value=”Привет” –выводит строку “Привет” в ячейку,расположенную в первой строке во втором столбце

3 Columns, Rows- возвращают семейство всех столбцов и строк рабочего листа или конкретный столбец, если в скобках указан индекс.Например

WorkSheets(1).Columns(2)- возвращает второй столбец

Основные методы объекта Worksheet и семейства Worksheets

1 Activate- активизирует указанный рабочий лист.Например

Worksheets(1).Activate

2 Delete –удаляет указанный рабочий лист. Например

Worksheets(1).Delete

3 Protect - защищает рабочий лист от внесения в нее изменений

Основными событиями этого объекта являются Activate (происходит при активизации рабочего листа) и Deactivate (происходит при деактивизации рабочего листа).Например, напишем процедуру обработки события Activate объекта Worksheet при ее активизации.При этом мы выведем некоторое сообщение:

Sub Worksheet_Activate()

MsgBox(“Привет”)

Объект Range

В иерархии Excel объект Range (диапазон) , один из ключевых объектов VBA, следует сразу после объекта Worksheet. Объект Range не является элементом никакого семейства объектов.

Если в диапазоне указывается только имена столбцов и строк, то объект Range задает диапазон, состоящий из указанных столбцов и строк.Например, Range(“A:C”) задает диапазон состоящий из столбцов A,B,C. Range(“A:A”) задает диапазон состоящий из столбца А, Range(“2:2”) задает диапазон состоящий из второй строки.

Для того чтобы сослаться на конкретный диапазон ячеек достаточно указать адрес его верхней левой ячейки и адрес его нижней правой.Например, Range(“A1:B3”) задает диапазон состоящий из ячеек A1,A2,A3,B1,B2,B3.

Ячейка-это частный случай диапазона, который состоит из единственной ячейки.Например Range(“A1”) задает диапазон состоящий из ячейки A1.

Основные свойства объекта Range

1 Value- возвращает или устанавливает значение в ячейках диапазона.Например

x=Range(“C1”).Value - Некоторой переменной х присваивается значение из ячейки C1

2 Name- возвращает или устанавливает имя диапазана

3 Columns, Rows- возвращают все столбцы или строки в диапазоне.Например

Worksheets(1).Range("A1:B3").Columns.Value = 2 – во всех столбцах диапазона

A1:B3 выводится число 3

4 Interior- возвращает объект Interior, представляющий собой фон ячейки.Среди свойств объекта Interior

отметим только одно –ColorIndex-цвет фона, которое задается целыми числами от 1 до 56 .Например

Range(“A1”).Interior.ColorIndex=3 - Фон ячейки A1 заполняется красным цветом

5 Font –возвращает объект Font , представляющий собой шрифт.Объект Font имеет свойства Name(строка, указывающая имя шрифта) и т.д.

6 HorizontalAlignment- Горизонтальное выравнивание в ячейках диапазона.Допустимы значения xlCenter (Выравнивание по центру),xlRight(Выравнивание по правому краю) и т.д.

Основные методы объекта Range

1 ClearFormats и ClearContents- очищают, соотве-но, форматы и содержимое в ячейках диапазона.Например

Range(“A1:D2”).ClearContents

2 Select- выделение диапазона


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16

Коллекция (Collection
  • (ПРОГРАММИРОВАНИЕ НА VBA В MS EXCEL)
  • (ИНФОРМАТИКА.)
  • Основные объекты приложения MS Excel
    Рассмотрим, как устроена объектная модель MS Excel с общих позиций. Различают объекты и их коллекции (семейства). Коллекция (Collection ) представляет собой объект, состоящий из набора других объектов одного и того же типа. Все объекты и коллекции связаны родовыми иерархическими отношениями....
    (ПРОГРАММИРОВАНИЕ НА VBA В MS EXCEL)
  • ОСОБЕННОСТИ ВЗАИМОДЕЙСТВИЯ ПРИЛОЖЕНИЙ MS EXCEL И OPENOFFICE.ORG CALC
    В разделе приводится краткий обзор состава и возможностей пакета OpenOftice. org (ОО.о). Рассматриваются его объектная модель и языковые конструкции языка ОО.о Basic (StarBasic) только в рамках его сравнения и взаимодействия с приложением MS Excel. Отметим, что OpenOffice.org является довольно популярным,...
    (ПРОГРАММИРОВАНИЕ НА VBA В MS EXCEL)
  • Примеры использования возможностей приложения Excel
    Пример 9.1. Построить график зависимости теплоемкости компонента Ci8H36 от температуры. Значения теплоемкостей и соответствующие температуры приведены в табл. 9.1. Таблица 9.1 Температура, К 300 400 500 600 700 800 900 1000 Теплоемкость, кал/(моль К) 97,71 132,32 146,42 166,00 182,65 196,80 209,01...
    (ИНФОРМАТИКА.)
  • Аннотация: Лекция посвящена описанию объектной модели MS Excel и подробному описанию методов, свойств и событий Application.

    13.1. Особенности программирования для MS Excel

    Microsoft Office Excel - это популярные электронные таблицы. Обычно, программируя для этой программы, преследуют такие цели:

    • Автоматизация вычислений.
    • Автоматизация ввода и обработки информации.
    • Работа с базами данных - вывод, ввод, анализ, визуализация информации.
    • Анализ финансовой и другой информации.
    • Создание систем для организации автоматизированного ввода данных
    • Математическое моделирование .

    В общем виде программирование в Excel похоже на работу с Microsoft Word . Однако одно из главных отличий заключается в том, что в Excel рабочая область листа разбита на ячейки, каждая из которых имеет собственное имя. Имена ячеек могут быть двух видов.

    • Первый вид (стиль A1) - это имя, состоящее из буквенного имени столбца и номера строки. Например, A1 - ячейка, находящаяся на пересечении столбца А (первого) и первой строки.
    • Другой вид - это индексы ячеек (стиль именования R1C1 ). Для адресации ячейки в таком стиле указывают номер строки (R - Row - строка) и номер столбца (C - Column - столбец), на пересечении которых расположена ячейка. Строки изначально пронумерованы, а номера столбцов начинаются с 1 - первому столбцу соответствует столбец A , второму - В и т.д. Например, (2, 3) - это адрес ячейки, находящийся на пересечении второй строки и третьего столбца, то есть, если переложить это на стиль A1 - получим ячейку С2 (рис. 13.1 .)


    Рис. 13.1.

    Для выполнения большинства операций в MS Excel применяются следующие объекты.

    • Excel.Application (Приложение) - объект, представляющий приложение Microsoft Excel, аналогичен Word.Application .
    • Workbook ( Рабочая книга ) - представляет рабочую книгу - аналог документа Microsoft Word. Однако, в Word мы работаем с данными, расположенными в документе, а в Excel на пути к данным есть еще один объект - рабочий лист.
    • Worksheet (Рабочий лист) - книга в MS Excel разбита на рабочие листы. Именно на листе расположены ячейки, которые могут хранить информацию и формулы.
    • Range (Диапазон) - может быть представлен в виде одной ячейки или группы ячеек. Этот объект заменяет множество объектов для работы с элементами документов (character , word и т.д.), которые применяются в Microsoft Word. В результате работа с листом становится очень четкой и удобной - чтобы работать с какой-либо ячейкой, надо знать лишь ее имя (в формате A1) или адрес (R1C1 ).
    • QueryTable (Таблица запросов) - этот объект используют для импорта в Microsoft Excel информации из баз данных. Подключение к базе данных , запрос информации и т.д. производятся средствами объекта, а итоги запроса выгружаются на лист MS Excel в виде обычной таблицы.
    • PivotTable (Сводная таблица) - это особый вид электронной таблицы Excel - она позволяет в интерактивном режиме обобщать и анализировать большие объемы информации, в частности, взятой из базы данных.
    • Chart (Диаграмма) - представляет собой диаграмму. Обычно их используют для визуализации данных.

    Давайте начнем рассмотрение объектной модели MS Excel с объекта Application .

    13.2. Объект Application

    MsgBox Excel.Application.Name Листинг 13.1. Вывести имя приложения

    После выполнения программы в окне сообщения отобразится имя приложения - в данном случае - Microsoft Excel . Очевидно, что свойство Name объекта Application возвращает имя приложения.

    Теперь рассмотрим наиболее важные методы и свойства Application . Некоторые из них похожи на таковые в MS Word . Например, метод Quit точно так же, как в Word , закрывает приложение , свойство Visible отвечает за видимость окна программы и т.д.

    13.3. Методы Application

    13.3.1. Calculate - принудительный пересчет

    Этот метод, вызываемый для объекта Application , позволяет пересчитать все открытия книги. Его же можно вызывать для отдельных книг (объект Workbook ) листов ( Worksheet ), ячеек и их диапазонов (Range ). Например, код из листинга 13.2 . позволяет пересчитать все открытые книги.

    Application.Calculate Листинг 13.2. Пересчитать все открытые книги

    13.3.2. GoTo - переход в ячейку

    13-02-Excel GoTo.xlsm - пример к п. 13.3.2.

    Позволяет выделить любой диапазон ячеек в любой книге, причем, если книга не активна - она будет активирована. Так же метод может запускать макросы Microsoft Excel.

    Полный вызов метода выглядит так:

    Goto(Reference, Scroll)

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

    Параметр Scroll отвечает за "перемотку" листа Excel к выделенным ячейкам - так, чтобы левый верхний угол выделения совпадал бы с левым верхним углом отображаемой области листа. Если Scroll установлен в True - лист перематывается, если в False - нет.

    Например, такой вызов (листинг 13.3 .) позволяет выделить ячейку H500 на активном листе.

    Application.Goto _ Reference:=ActiveSheet.Range("H500"), _ Scroll:=True Листинг 13.3. Выделить ячейку H500

    Как видите, обращение к активному листу очень напоминает обращение к активному документу в MS Word. Обратите внимание на то, что мы используем полное обращение к методу - Application.GoTo - как вы знаете, обычно свойства и методы объекта Application можно использовать в коде, не указывая этого объекта. Однако, если в этом случае не указать Application , то вместо метода GoTo программа попытается выполнить оператор безусловного перехода GoTo .

    13.3.3. SendKeys - имитация нажатий на клавиши клавиатуры

    13-03-Excel SendKeys.xlsm - пример к п. 13.3.3.

    Очень интересный метод - позволяет передавать в активное окно приложения нажатия клавиш. Полный вызов метода выглядит так:

    SendKeys(Keys, Wait)

    Параметр Keys позволяет задавать клавиши, нажатия которых будут переданы приложению. Метод поддерживает эмуляцию как алфавитно-цифровых, так и управляющих клавиш , для которых применяется специальная кодировка. Алфавитно-цифровые клавиши указываются при вызове в своем обычном виде Например, для передачи символа "Ф" нужно указать его при вызове метода и т.д.

    Чтобы передать приложению нажатия клавиши Backspace - используйте код {BS} . Для передачи нажатия кнопки Enter используйте значок ~ (

    Простые и сложные переменные

    По наличию внутренней структуры, переменные могут быть простыми или сложными (составными).

    Простые переменные не имеют внутренней структуры, доступной для адресации. Последняя оговорка важна потому, что для компилятора или процессора переменная может быть сколь угодно сложной, но конкретная система (язык) программирования скрывает от программиста её внутреннюю структуру, позволяя адресоваться только «в целом».

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

    Следует подчеркнуть относительность такого деления: для разных программ одна и та же переменная может иметь разную структуру. Например, компилятор различает в переменной вещественного типа 4 поля: знаки мантиссы и порядка, плюс их значения, но для программиста, компилирующего свою программу, вещественная переменная - единая ячейка памяти, хранящая вещественное число.

    Объектная модель MS Excel по общим принципам идентична объектной модели MS Word. Эта модель также имеет иерархическую структуру, в корне которой находится объект Application (Excel.Application), через который обеспечивается доступ к любой коллекции или внутреннему объекту приложения MS Excel или к компонентам открытых рабочих книг. Обшая структура объектной модели MS Excel представлена на рис. 1.4.

    Рис. 1.4. Объектная модель MS Excel

    Как уже сказано, вершиной объектной модели MS Excel является объект Application, непосредственно включающий такие объекты и коллекции, как Selection - текущий выделенный объект, WorkBooks - коллекция открытых рабочих книг, коллекции различных элементов управления, диалоговых окон и другие свойства приложения MS Excel. Объект Selection имеет свойства текущего выделенного объекта, поэтому нет смысла рассматривать здесь структуру модели этого объекта. Если выделена ячейка, то Selection = Ячейка, если диаграмма, то Selection = Диаграмма. Когда выделена область ячеек, Selection = Коллекции столбцов и строк. Коллекция рабочих книг представляет собой список открытых рабочих книг, доступ к которым осуществляется по индексу. Каждый элемент такой коллекции представляет собой объект "рабочая книга". Панели управления, меню, кнопки, диалоги и другие объекты, предназначенные для управления приложением, собраны в соответствующие коллекции элементов управления.

    Основным элементом объекта "рабочая книга" является коллекция рабочих листов. Элементом коллекции является отдельный рабочий лист, который может представлять собой обычный лист (в виде таблицы) или быть в виде диаграммы. В последнем случае он ничего, кроме диаграммы, содержать не может. Рассмотрим вариант листа в виде таблицы (рис. 1.5).


    Рис. 1.5. Объектная модель листа рабочей книги

    Основной объект рабочего листа, с которым приходится работать, - ячейка. Ячейка как объект сама обладает множеством свойств и объектов, входящих в нее. Из них наиболее важными и часто используемыми являются: текст, шрифт, стиль текста, границы, заливка. Чтобы получить доступ к ним, необходимо получить доступ к самой ячейке, а затем изменять ее свойства. Ячейки объединены в области ячеек Range. Свойства области ячеек во многом совпадают со свойствами самой ячейки, но есть и отличия, состоящие в задании координат и размеров области. Ячейки объединены в строки и столбцы. Объединения строк и столбцов представляют собой коллекции, доступ к которым производится по числовому индексу или по буквенному обозначению столбца. На рабочем листе могуг располагаться внешние объекты: рисунки, фрагменты документов Word, звуки, видеозаписи и другие объекты, которые объединены в коллекцию внешних OLE-объектов. Прорисовка или, точнее, воспроизведение этих объектов полностью выполняется внешними программами, зарегистрированными в системе как OLE-серверы. Доступ к таким объектам производится через элементы коллекции OLEObjects, а доступ к их свойствам возможен только через эти OLE-серверы. Приложение Excel обладает большим набором собственных графических объектов, которые можно разместить на рабочем листе. Мы можем использовать рисунки, надписи, геометрические фигуры, диаграммы, которые обычно объединены в коллекции. Например, коллекция ChartObjects содержит набор диаграмм, которые располагаются на рабочем или на отдельном листе. Каждая диаграмма, в свою очередь, также содержит набор объектов и коллекций. Рассмотрение свойств, состава и содержания диаграмм - отдельная тема этой книги (см. главу 14).

    Рис. 1.6. Объектные модели диалогов Найти в Excel (а) и Найти и заменить в Word (6)

    Чтобы убедиться в гибкости, универсальности и больших возможностях для программирования объектов MS Office, рассмотрим еще одну коллекцию объектов, присутствующую как в Word, так и в Excel. Это коллекция диалогов (диалоговых окон), которые пользователь обычно открывает нажатием той или иной кнопки или выбором команды меню. Она принадлежит объекту Application. В объектной модели все диалоги представлены в виде элементов коллекции Dialogs, доступ к которым обеспечивается через числовой индекс. Посредством параметров метода Show элемента коллекции происходят передача параметров в диалог и его выполнение - такова модель диалогов для приложений Excel (рис. 1.6, а), для приложений Word модель диалога несколько отличается. Отличие заключается в том, что в диалог Word параметры передаются через свойства объекта-элемента коллекции (рис. 1.6, б).

    У объекта Item() наряду с типичными свойствами и методами есть присущие только ему свойства и методы. Например, у диалога Найти и заменить есть свойство Find, определяющее текст для поиска - до запуска диалога.

    В Excel объект коллекции Dialogs несколько отличается от диалогов Word. Здесь рассмотрим только объектную модель коллекции диалогов для Excel в целом (рис. 1.7).

    Рис. 1.7. Объектная модель коллекции диалогов Excel

    На этом рисунке представлена только малая часть всевозможных диалогов коллекции - показаны диалоги, наиболее часто используемые программистами и пользователями. Обычно в диалог передаются значения, которые устанавливают значения элементов управления, а возвращаются значения True или False, в зависимости от результата действия пользователя.

    Можно подвести итог: приложения из состава MS Office, например Word и Excel, представляют собой взаимосвязанные объекты и коллекции объектов. Каждый объект или коллекция включает в себя множество параметров и других объектов, коллекций. В свою очередь, сами объекты и коллекции имеют хозяина (Parent), в состав которого они входят. На вершине объектной модели находятся объекты Word.Application для текстового процессора Word и Excel.Application - для табличного прцессора Excel. Через эти объекты, в основном, и осуществляется связь этих приложений с внешними программами. Как все это работает, вы узнаете из следующих глав книги.