Автоматизация приложений Microsoft Office в примерах
      

Обращение к листам и ячейкам


Обращение к листам рабочей книги производится с помощью коллекции WorkSheets объекта WorkBook. Каждый член этой коллекции представляет собой объект WorkSheet. К члену этой коллекции можно обратиться по его порядковому номеру, например:

App.WorkBooks[1].WorkSheets[1].Name := _ 'Страница 1';

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

К листу рабочей книги можно обратиться и по имени, например:

App.WorkBooks[1].WorkSheets['Sheet1'].Name := _    'Страница 1';

Обращение к отдельным ячейкам листа производится с помощью коллекции Cells объекта WorkSheet. Например, добавить данные в ячейку B1 можно следующим образом:

App.WorkBooks[1].WorkSheets['Sheet1'].Cells[1,2].Value:='25';

Здесь первая из координат ячейки указывает на номер строки, вторая - на номер столбца.

Добавление формул в ячейки производится аналогичным способом:

App.WorkBooks[1].WorkSheets['Sheet1'] _    .Cells[3,2].Value := ' =SUM(B1:B2)';

Очистить ячейку можно с помощью метода ClearContents.

Форматирование текста в ячейках производится с помощью свойств Font и Interior объекта Cell и их подсвойств. Например, следующий фрагмент кода выводит текст в ячейке красным жирным шрифтом Courier кегля 16 на желтом фоне:

App.WorkBooks[1].WorkSheets[1].Cells[3,2].Interior _    .Color := clYellow; App.WorkBooks[1].WorkSheets[1].Cells[3,2].Font _    .Color := clRed; App.WorkBooks[1].WorkSheets[1].Cells[3,2] _    .Font.Name := 'Courier'; App.WorkBooks[1].WorkSheets[1].Cells[3,2] _    .Font.Size := 16; App.WorkBooks[1].WorkSheets[1].Cells[3,2] _ .Font.Bold := True;

Объект

Программный идентификатор

Комментарий

Application Excel.Application, Excel.Application.9

С помощью этого программного идентификатора создается экземпляр приложения без открытых рабочих книг
WorkBook Excel.AddIn С помощью этого программного идентификатора создается экземпляр расширения (add-in) Excel (имеющиеся расширения доступны с помощью пункта меню Tools | Add-Ins)
  Excel.Chart, Excel.Chart.8 Рабочая книга, созданная с помощью этих программных идентификаторов, состоит из двух листов - одного для диаграммы, другого - для данных, на основе которых она построена
  Excel.Sheet, Excel.Sheet.8 Рабочая книга, созданная с помощью этих программных идентификаторов, состоит из одного листа
<
Вместо свойства Color можно использовать свойство ColorIndex, принимающее значения от 1 до 56; таблицу соответствий значений этого свойства реальным цветам можно найти в справочном файле VBAXL9.CHM.

Обратиться к текущей ячейке можно с помощью свойства ActiveCell объекта Excel.Application, а узнать местоположение ячейки можно с помощью свойства Address объекта Cell, например:

ShowMessage(App.ActiveCell.Address);

Помимо обращения к отдельным ячейкам, можно манипулировать прямоугольными областями ячеек с помощью объекта Range, например:

App.WorkBooks[1].WorkSheets[2].Range['A1:C5'] _    .Value := 'Test'; App.WorkBooks[1].WorkSheets[2].Range['A1:C5'] _    .Font.Color := clRed;

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

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

App.WorkBooks[1].WorkSheets[2].Range['A1:C5'].Copy; App.WorkBooks[1].WorkSheets[2].Range['A11:C15'].Select; App.WorkBooks[1].WorkSheets[2].Paste;

Обратите внимание на то, что диапазон, куда копируются данные, предварительно выделяется с помощью метода Select.

Отметим, что примерно таким же образом можно копировать данные и из других приложений (например, из Microsoft Word).

Довольно часто при автоматизации Excel используются его возможности, связанные с построением диаграмм. Ниже мы рассмотрим, как это сделать.


Содержание раздела