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

104

End Sub

Данный макрос просто присваивает ячейкам листа данный стиль. Предварительно стиль можно задать Формат-Стиль.

Sub Macro6

Dim Doc,Sheet,Range as Object Dim n as integer

Doc = StarDesktop.CurrentComponent n = Doc.Sheets.Count

Dim aLineBorder as new com.sun.star.table.BorderLine Dim Border as new com.sun.star.table.TableBorder

for i=0 to n-1

Sheet = Doc.Sheets(i)

Range = Sheet.getCellRangeByName("A1:Z100") 'Установка стиля листа New

Range.CellStyle = "New" next i

End Sub

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

Рисунок 53 - Установка изображения на кнопке

8.7.Изучение флажков.

Спомощью элемента управления перенесите на первый лист шесть флажков и расположите их друг за другом. Щелкнув правой кнопкой мыши над элементом флажок посмотрите его свойства, посмотрите как называется объект, если он не называется Флажок 1, Флажок 2 и т.д., назовите его так или учтите это при выполнении дальнейшего задания. Далее создайте Макрос и назовите каким-нибудь образом, в данном случае процедура макроса должна иметь стандартный вид процедуры обработчика события с наличием входного аргумента Event.

105

Рисунок 54 - Флажки и работа с Calc, обработка событий

В OOo Basic Вы можете использовать параметры объекта, чтобы предоставить дополнительную информацию о событии для процедуры, например:

Sub ProcessEvent(Event As Object) End Sub

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

Event.Source

а его используемая модель Event.Source.Model

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

Запишите код макроса. Затем свяжите данный макрос с реакцией на событие с каждым объектом флажок.

Sub Macro8(Event as Object) Dim Doc As Object

Dim Sheet As Object Dim num as integer Doc = ThisComponent

'Показать имя объекта вызвавшего событие msgbox Event.Source.Model.Name

'определяем какой именно объект создал событие и нумеруем if Event.Source.Model.Name = "Флажок 1" then

num = 1 end if

if Event.Source.Model.Name = "Флажок 2" then num = 2

end if

if Event.Source.Model.Name = "Флажок 3" then num = 3

end if

if Event.Source.Model.Name = "Флажок 4" then

106

num = 4 end if

if Event.Source.Model.Name = "Флажок 5" then num = 5

end if

if Event.Source.Model.Name = "Флажок 6" then num = 6

end if

'Выбираем первый лист Sheet = Doc.Sheets(0)

'Выбираем ячейку по ее координатам, первое число — столбец, второе номер строки Cell = Sheet.getCellByPosition(7, num-1)

'если состояние флажка выделен, то указываем это в ячейке, в ином случае не выделен if Event.Source.State = 1 then

Cell.String = "Выделен" else

Cell.String = "Не выделен" end if

End sub

Флажки предоставляют следующие свойства:

State (Short) – состояние флажка (0: нет, 1: да, 2: промежуточное состояние);

Label (String) – надпись для элемента управления;

enableTriState (Boolean) – в дополнение к активированному и дезактивированному состояниям, Вы можете также использовать промежуточное состояние.

Модель объекта флажок обеспечивает следующие свойства:

Model.FontDescriptor (struct) – структура, которая определяет детали шрифта, который используется (в соответствии со структурой com.sun.star.awt.FontDescriptor);

Model.Label (String) – надпись, которая отображается на элементе управления;

Model.Printable (Boolean) – элемент управления может быть напечатан;

Model.State (Short) – состояние флажка (0: нет, 1: да, 2: промежуточное состояние);

Model.Tabstop (Boolean) – элемент управления может быть достигнут при помощи клавиши Tab;

Model.TextColor (Long) – цвет текста элемента управления;

Model.HelpText (String) – текст всплывающей подсказки, которая появляется, когда Вы перемещаете курсор мыши над элементом управления;

Model.HelpURL (String) – URL страницы онлайн справки для соответствующего элемента управления.

8.8.Изучение Переключателей.

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

Элемент управления переключатель предоставляет два свойства:

State (Boolean) – состояние переключателя;

Label (String) – надпись, которая отображается рядом с переключателем.

Вы можете также использовать следующие свойства из модели переключателей:

Model.FontDescriptor (struct) – структура, которая определяет детали шрифта, который используется (в соответствии со структурой com.sun.star.awt.FontDescriptor);

Model.Label (String) – надпись, которая отображается на элементе управления;

107

Model.Printable (Boolean) – элемент управления может быть напечатан;

Model.State (Short) – если это свойство равно 1, переключатель активирован, иначе он дезактивирован;

Model.TextColor (Long) – цвет текста элемента управления;

Model.HelpText (String) – текст всплывающей подсказки, которая появляется, когда Вы перемещаете курсор мыши над элементом управления;

Model.HelpURL (String) – URL страницы онлайн справки для соответствующего элемента управления.

Для того, чтобы объединить переключатели в одну группу, необходимо выбрать каждый переключатель и в их свойстве Имя Группы, указать одно и то же название группы для всех переключателей.

Рисунок 55 - Установка свойств переключателя

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

Значение индекса (вкл/выкл) будет записано в указанную ячейку в зависимости от того в каком положении переключатель.

Рисунок 56 - Связанная с переключателем ячейка

108 Затем создайте макрос. И свяжите его с событием Выполнить действие.

Sub Macro9(Event as Object) dim num as integer

Dim Shet, Doc,Cell as Object

'Проверка какой из переключателей сработал

if Event.Source.Model.Name = "Переключатель 1" then num = 1

end if

if Event.Source.Model.Name = "Переключатель 2" then num = 2

end if

if Event.Source.Model.Name = "Переключатель 3" then num = 3

end if

'Обращение ко второму листу Doc = ThisComponent

Sheet = Doc.Sheets(1)

'Ячейка первой строки восьмого столбца H Cell = Sheet.getCellByPosition(7, 0)

'Установка значения ячейки номером сработавшего переключателя Cell.Value = num

'Установка цвета символов ячейки и ее высоты в зависимости от переключателя select case num

case 1 'цвет

Cell.CharColor = RGB(255, 0, 0) 'высота

Cell.CharHeight = 15 case 2

Cell.CharColor = RGB(0, 255, 0) Cell.CharHeight = 10

case 3

Cell.CharColor = RGB(0, 0, 255) Cell.CharHeight = 20

end select end sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]