Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Руководство_Calc.pdf
Скачиваний:
77
Добавлен:
28.03.2015
Размер:
4.1 Mб
Скачать

Глава 13Calc как простая база данных

oRange = oSheet.getCellRangeByName("A1:C20") oAddress = oRange.getRangeAddress() oRanges.addNewFromTitles(oAddress, _

com.sun.star.sheet.Border.TOP)

End Sub

Константы в Таблице 7 определяют местоположение заголовков при создании нескольких диапазонов с использованием метода addNewFromTitles().

Таблица 7. Константы com.sun.star.sheet.Border.

Значение

Имя

Описание

0

TOP

Выбирает верхнюю границу.

 

 

 

1

BOTTOM

Выбирает нижнюю границу.

2

RIGHT

Выбирает правую границу.

 

 

 

3

LEFT

Выбирает левую границу.

 

 

 

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

Диапазон данных

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

Диапазон данных обеспечивает поведение, которое является полезным при выполнении действий, связанных с базой данных. Например, Вы можете отметить первую строку как заголовки. Чтобы создавать, изменить или удалить диапазон данных, используйте Данные > Определить диапазон для открытия диалогового окна Определить диапазон данных (см. Рис. 162). Когда Вы определяете новый диапазон, кнопка “Изменить”, показанная в примере помечена “Добавить”.

Руководство по Calc

153

Глава 13Calc как простая база данных

Рис. 162. Определение диапазона данных.

В макросе, к диапазону данных получают доступ, создают и удаляют диапазон из свойства DatabaseRanges. Макрос Листинге 4 создает диапазон данных с именем “MyName” и задает диапазону использоваться в качестве автофильтра.

Листинг 4. Создание диапазона данных и автофильтра.

Sub AddNewDatabaseRange()

Dim oRange

'Объект DatabaseRange.

Dim oAddr

'Диапазон адресов ячеек для диапазона данных.

Dim

oSheet

'Первый лист, который будет содержать диапазон.

Dim

oDoc

'Ссылка на ThisComponent с более коротким именем.

oDoc = ThisComponent

If NOT oDoc.DatabaseRanges.hasByName("MyName") Then oSheet = ThisComponent.getSheets().getByIndex(0) oRange = oSheet.getCellRangeByName("A1:F10") oAddr = oRange.getRangeAddress() oDoc.DatabaseRanges.addNewByName("MyName", oAddr)

End If

oRange = oDoc.DatabaseRanges.getByName("MyName") oRange.AutoFilter = True

End Sub

154

Руководство по Calc