Лабораторная работа №7 Тема: Автоматизация работы в OpenOffice Calc




Скачать 264.18 Kb.
НазваниеЛабораторная работа №7 Тема: Автоматизация работы в OpenOffice Calc
Дата публикации23.03.2013
Размер264.18 Kb.
ТипЛабораторная работа
odtdocs.ru > Информатика > Лабораторная работа

Лабораторная работа №7

Тема: Автоматизация работы в OpenOffice Calc

  1. Основные понятия


Макрос (от англ. macros, мн.ч. от macro) — программный объект, при обработке «развёртывающийся» в последовательность действий и/или команд.

Во многих «офисных» продуктах (Microsoft Office, OpenOffice.org и др.), в текстовых редакторах (например, Vim) при обработке макроса автоматически выполняется заданная для каждого макроса последовательность действий — нажатия на клавиши, выбор пунктов меню и т. д. Предоставляется интерфейс для записи новых и перезаписи существующих макросов.

Макросы используются для автоматизации действий в OpenOffice.org. Макрос может автоматизировать такие действия, который иначе потребовали бы длительных ручных манипуляций с возможными ошибками. В настоящее время автоматизированные действия наиболее легко выполняются написанием макросов в OOo Basic. Новая среда для макросов в версии 2 OpenOffice.org должна облегчить использование других языков, но Basic все еще наиболее легкий в использвании. Вот несколько преимуществ использования языка OOo Basic для управления OpenOffice.org:

    • легок для изучения

    • поддерживает объекты COM (ActiveX) и расширенные возможности GUI в OpenOffice

    • есть сообщество пользователей в Интернет

    • это – решение для нескольких платформ (Linux, Windows ...)
^

Задание переменных


В OpenOffice.org Basic объявление переменных может быть неявным. Объявить переменную можно с помощью инструкции Dim. Можно объявлять несколько переменных одновременно, если разделить их имена запятыми. Для определения типа переменной служит либо знак объявления типа после имени, либо соответствующее ключевое слово.

Примеры объявлений переменных.

DIM a$

Объявляет переменную "a" как строку.

DIM a As String

Объявляет переменную "a" как строку.

DIM a$, b As Integer

Объявляет одну переменную как строку, другую — как целое число.

DIM c As Boolean

Объявляет "c" как логическую переменную, которая может иметь значение либо TRUE, либо FALSE.



^

Типы переменных


В OpenOffice.org Basic предусмотрена поддержка четырех классов переменных.

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

  • Строковые переменные содержат строки символов.

  • Логические переменные содержат одно из значений: TRUE или FALSE.

  • Объектные переменные могут содержать объекты различных типов, например таблицы и документы внутри документа.

Массивы


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

Массивы необходимо объявлять с помощью инструкции Dim. Для определения диапазона индексов массива используется несколько способов.

DIM text$(20)

21 элемент, пронумерованный от 0 до 20

DIM text$(5,4)

30 элементов (матрица из 6 x 5 элементов)

DIM text$(5 to 25)

21 элемент, пронумерованный от 5 до 25

DIM text$(-15 to 5)

21 элемент (включая 0), пронумерованный от -15 до 5


Диапазон индексов может включать положительные и отрицательные числа.

Константы


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

CONST ConstName=Expression

Библиотеки


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

Библиотека может включать до 16000 модулей.

Модули


Наряду с объявлениями переменных модуль содержит процедуры и функции. Длина программы, которую можно сохранить в модуле, ограничена 64 КБ. Если требуется память большего объема, можно разделить проект OpenOffice.org Basic между несколькими модулями и затем сохранить их в одной библиотеке.
^

Модули диалоговых окон


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

Что такое "Sub"


Sub — краткая форма слова subroutine (подпрограмма). Подпрограмма используется для управления конкретной задачей в программе. Подпрограммы служат для разбиения задачи на отдельные процедуры. Разбиение программы на процедуры и подпроцедуры улучшает читаемость и уменьшает возможность возникновения ошибок. Подпрограмма по возможности использует некоторые параметры как аргументы, но не возвращает значения вызывающей подпрограмме или функции, например:

DoSomethingWithTheValues(MyFirstValue,MySecondValue)
^

Что такое функция


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

MySecondValue = myFunction(MyFirstValue)
^

Операция ветвления


Инструкция If...Then используется для выполнения участков программы в зависимости от заданных условий. Когда OpenOffice.org Basic встречает инструкцию If, то проверяется логическое условие. Если оно равно True, то выполняются все дальнейшие инструкции вплоть до следующей инструкции Else или ElseIf. Если это условие равно False и встречается инструкция ElseIf, то OpenOffice.org Basic проверяет следующее условие и выполняет дальнейшие инструкции, если это условие равно True. Если оно равно False, программа переходит к следующей инструкции ElseIf или Else. Инструкции после Else выполняются только в том случае, если ни одно из предыдущий условий не было равно True. После того как все условия проверены и соответствующие инструкции выполнены, программа переходит к инструкции, следующей за EndIf.

Инструкции If...Then можно вкладывать одну в другую.

Else и ElseIf — необязательные инструкции.

Пример:

If a>0 Then

MsgBox “a>0”

End If
^

Инструкция Do...Loop [время выполнения]


Повторяет инструкции между инструкцией Do и Loop, пока условие равно True или пока условие не станет равно True.
Синтаксис

Do [{While | Until} Условие = True]

Участок_программы

[Exit Do]

Участок_программы

Loop

или

Do

Участок_программы

[Exit Do]

Участок_программы

Loop [{While | Until} Условие = True]
Параметры/Элементы

Условие. Сравнение, числовое или строковое выражение, которое вычисляется либо как True, либо как False.

Участок_программы. Инструкции, которые нужно повторять, пока условие равно True или пока условие не станет равно True.

Инструкция Do...Loop выполняет цикл, пока определенное условие равно True или пока оно не станет равно True. Условие для выхода из цикла должно быть введено после инструкции Do или Loop. В следующих примерах представлены допустимые комбинации:
Синтаксис

Do While Условие = True

участок_программы

Loop

Участок программы между инструкциями Do While и Loop повторяется, пока условие истинно.

Do Until Условие = True

участок_программы

Loop

Участок программы между инструкциями Do Until и Loop повторяется, пока условие ложно.

Do

участок_программы

Loop While Условие = True

Участок программы между инструкциями Do и Loop повторяется, пока условие истинно.

Do

участок_программы

Loop Until Условие = True

Участок программы между инструкциями Do и Loop повторяется, пока условие не станет истинно.

Инструкция ^ Exit Do используется для безусловного завершения цикла. Эту инструкцию можно добавлять в любое место инструкции Do...Loop. Также можно определить условие выхода, используя структуру If...Then следующим образом:

Do...

инструкции

If Условие = True Then Exit Do

инструкции

Loop...
^

Инструкция For...Next [время выполнения]


Повторяет инструкции между For и Next указанное число раз.
Синтаксис:

For Счетчик=Начало To Конец [Step Шаг]

Участок_программы

[Exit For]

Участок_программы

Next [Счетчик]
Переменные:

Счетчик. Счетчику циклов первоначально присваивается значение справа от знака равенства (Начало). Допустимы только числовые переменные. Счетчик циклов увеличивается или уменьшается в зависимости от значения переменой Шаг до достижения значения Конец.

^ Начало. Числовая переменная, которая определяет исходное значение счетчика в начале цикла.

Конец. Числовая переменная, которая определяет последнее значение счетчика в конце цикла.

Шаг. Задает значение, на которое увеличивается или уменьшается счетчик цикла. Если параметр Шаг не указан, счетчик цикла увеличивается на 1. В этом случае параметр Конец должен быть больше, чем параметр Начало. Если нужно уменьшать параметр Счетчик, параметр Конец должен быть меньше параметра Начало, а параметру Шаг необходимо присвоить отрицательное значение.

Цикл For...Next повторяет все инструкции в цикле число раз, определяемое параметрами.

По мере изменения переменной счетчика OpenOffice.org Basic проверяет, достигнуто ли значение Конец. После прохождения счетчиком конечного значения цикл автоматически завершается.

Инструкции For...Next могут быть вложенными. Если переменная, следующая за инструкцией ^ Next, не указана, инструкция Next автоматически ссылается на самую последнюю инструкцию For.

Если задается приращение 0, инструкции между For и Next повторяются непрерывно.

При отсчете переменной счетчика OpenOffice.org Basic проверяет переполнение или потерю значимости. Цикл завершается, если значение Счетчик превышает значение Конец (положительное значение Шаг) или становится меньше значения Конец (отрицательное значение Шаг).

Инструкция Exit For используется для безусловного завершения цикла. Эта инструкция должна находиться внутри цикла For...Next. Используйте инструкцию If...Then для проверки условия выхода следующим образом:

For...

инструкции

If Условие = True Then Exit For

инструкции

Next

Примечание. Во вложенных инструкциях For...Next, если производится безусловный выход из цикла с помощью инструкции Exit For, происходит выход только из одного цикла.

Для выполнения лабораторной работы вам необходимо открыть рабочую книгу Лаб.раб.7.ods которая находится в каталоге «Материалы» в каталоге практикума, если такого файла нет то создайте новую рабочую книгу в программе OpenOffice Calc и назовите её Лаб.раб.7.ods.


  1. ^

    Автоматическое создание макросов


Чтобы создать свой макрос в OpenOffice.org не обязательно быть программистом. В OpenOffice.org имеется встроенная программа регистратор которая может запоминать все действия пользователя с документом и записывать их последовательно в специальный текстовый модуль называемый Макрос.
^

2.1. Запись макроса


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

Откройте документ, для которого нужно записать макрос.

  1. Выберите команды Сервис => Макросы => Записать макрос.

Откроется маленькое диалоговое окно Запись макроса с одной только кнопкой «^ Завершить запись» (Рис. 1).



Рис. 1

  1. Выполните действия, которые хотите записать в документе.

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

  1. Нажмите кнопку «^ Завершить запись».

Откроется диалоговое окно Макрос, в котором можно сохранить и выполнить макрос (Рис.2).



Рис. 2. Диалог сохранения макроса.

  1. Если нужно прервать запись, не сохраняя макрос, нажмите кнопку Закрыть в диалоговом окне Макрос.

  2. Чтобы сохранить макрос в файле лабораторной работы, сначала в списке Сохранить макрос в выберите объект (например, Лаб.раб.7), в котором хотите сохранить макрос.

  3. Если нужно сохранить макрос в новой библиотеке или модуле, нажмите кнопку Новая библиотека или Новый модуль и введите имя библиотеки или модуля.

  4. В текстовом поле Название макроса введите имя нового макроса.

  5. Нажмите кнопку «Записать».

Ограничения макрорегистратора

Следующие действия не регистрируются:

    • Открытие окон не регистрируется.

    • Действия, выполненные в других окнах (где регистратор не запущен), не регистрируются.

    • Переключение окон не регистрируется.

    • Действия, не связанные с содержимым документа, не регистрируются. Например, изменения, внесенные в диалоговое окно "Параметры", организатор макросов, настройки.

    • Выделения регистрируются только в том случае, если они выполняются с помощью клавиатуры (перемещением курсора), но не регистрируются при использовании мыши.

    • Макрорегистратор работает только в Calc и Writer.

Задание 1

        1. Активируйте лист «Макрос», а если его нет, то переименуйте «Лист 1»;

        2. Заполните таблицу как на рисунке (Рис. 3)



Рис. 3.

        1. Выполните команду Сервис => Макросы => Записать макрос;

        2. С помощью автозаполнения заполните первую колонку до 10;

        3. Нажмите кнопку «Записать»;

        4. Сохраните макрос с именем «Zadanie1» в файле лабораторной работы (Рис. 4.);



Рис.4.

Примечание: В текущей версии (2.4) русские имена макросов не допускаются.

        1. Очистите в первой колонке ячейки до исходного состояния, т.е. оставьте заполнеными только первую и вторую ячейки колонки;

        2. Установите курсор в ячейку A1 и выполните команду Сервис => Макросы => Выполнить макрос;

        3. В открывшемся окне «Выбор макроса» найдите ваш макрос и нажмите кнопку «Выполнить» (Рис. 5).

        4. Сохраните документ.



Рис. 5. Запуск макроса.

В результате у вас должны автоматически заполнится ячейки, с 3 по 10.

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

2.2. Редактирование макросов


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

В OpenOffice.org имеется возможность разрабатывать макросы на разных языках программирования, но в данной работе мы воспользуемся OpenOffice.org Basic (Бэйсик). Это связано с тем, что этот язык более похож на макроязык Microsoft Visual Basic for Application (VBA) и после его освоения вы сможете без труда разобраться с подобными задачами в Microsoft Office

Задание 2

  1. Запустите редактор макросов командой Сервис => Макросы => Управление макросами => OpenOffice.org Бэйсик;

  2. В диалоге Макрос выберите макрос «Zadanie1» и нажмите кнопку редактировать (Рис. 6);



Рис. 6

  1. В окне редактора найдите процедуру Sub Zadanie1 (Рис. 7.), именно эта процедура запускается на выполнение, когда вы запускаете макрос;



Рис. 7. Окно редактора макроса.

Отредактируйте процедуру примерно как в листинге 2.2.1(комментарии писать не обязательно)

Листинг 2.2.1.: Универсальный макрос автозаполнение.

sub Zadanie1

rem ----------------------------------------------------------------------

rem Блок объявления переменных

dim document as object 'Ссылка на обьект документ

dim dispatcher as object 'ссылка на объект сервис UNO

dim Selection As object 'Ссылка на выделенную область в документе

dim CurRowNumber as Long 'Номер строки на которой стоит курсор

dim EndRowNumber as Long 'Переменная в которую записывается введённое значение

dim StartCell As String 'Текстовая ссылка на текущую ячейку

dim EndCell As String 'Текстовая ссылка на последнюю ячейку

rem ----------------------------------------------------------------------

rem Здесь определяем переменные для доступа к документу

document = ThisComponent.CurrentController.Frame 'Текущий документ

dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

Selection = document.Controller.Selection 'Выделение

' Номер текущей строки (счёт с нуля)

CurRowNumber= Selection.CellAddress.Row

' Имя текущей колонки

CurColumnName= Selection.Columns.ElementNames(0)

' Методом конкатенации формируем адрес ячеек

StartCell= "$" & CurColumnName & "$" & CStr(CurRowNumber+1) 'Начальная ячейка

'Просим пользователя ввести число строк и

'прибавляем это число к номеру текущей строки

EndRowNumber= CurRowNumber+CLng(InputBox("Введите число :","Ввод количества строк (Max 65536)","10"))

'адрес последней ячейки

EndCell= "$" & CurColumnName & "$" & CStr(EndRowNumber)

rem ----------------------------------------------------------------------

dim args1(0) as new com.sun.star.beans.PropertyValue

args1(0).Name = "ToPoint"

'Закомментируем значение введённое автоматически

'и заменим нашей переменной для начальной ячейки

args1(0).Value = StartCell '"$A$1:$A$2"

'Задание стартовой позиции

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------

dim args2(0) as new com.sun.star.beans.PropertyValue

args2(0).Name = "EndCell"

'Заменяем значение на переменную конечной ячейки

args2(0).Value = EndCell '"$A$10"

'Запускаем функцию автозаполнения

dispatcher.executeDispatch(document, ".uno:AutoFill", "", 0, args2())
rem Закомментируем лишние инструкции ----------------------------------

'rem dim args3(0) as new com.sun.star.beans.PropertyValue

'args3(0).Name = "ToPoint"

'args3(0).Value = "$A$1:$A$10"
'dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())

end sub

  1. Сохраните полученный макрос командой Файл => Сохранить, в редакторе OpenOffice Basic;

  2. Для назначения макросу комбинации клавиш выполните команду Сервис => Настройка и откройте вкладку Клавиатура;

  3. В открывшемся диалоге в поле Категория выделите модуль, в котором расположен макрос «Zadanie1», в поле Функция выделите макрос, после чего в поле Комбинация клавиш выберите свободную комбинацию и нажмите кнопку «Заменить» (Рис.8.);



Рис. 8. Назначение макросу комбинации клавиш.

  1. Нажмите кнопку ОК;

  2. Используя комбинацию клавиш назначенную на макрос заполните список дней недели и месяцев года (Рис. 9.).

  3. Сохраните документ.



Рис 9. Результат выполнения макроса.

Исследовательское задание.

Самостоятельно изучите диалог настройки (Сервис => Настройка) и назначтьте макрос «Zadanie1» на панель инструментов и создайте новое меню Макросы, в которое также назначте макрос.

Совет: Используйте справку OpenOffice.org. для выполнения заданий. (Клавиша F1, или меню Справка => Справка по OpenOffice.org )

  1. ^

    Ручное создание макросов


Задание 2:

  1. Откройте редактор OOo Basic, используя меню Сервис => Макросы => Управление макросами => OpenOffice.org Бэйсик, чтобы начать диалог макросов Macro. С левой стороны окна диалога найдите документ, который Вы только что открыли. Новый документ, вероятно, назван “untitled1” или Безымянный1. Кликните (нажмите левую клавишу мыши) справа ниже от “untitled1” на слове “standard”. Нажмите кнопку «Создать», справа, для создания нового модуля.

  2. Использование имени “Module1”, вероятно, не лучшее решение. Когда у Вас открыто несколько документов, и все они имеют модуль с именем “Module1”, то становится трудно работать с ними. Лучше назовем Ваш первый модуль “MyFirstModule”. Откроется среда редактирования и отладки макросов OOo Basic IDE . Введите (или скопируйте) текст, приведенный в Листинг 1.

Листинг 3.1: Ваш первый макрос, “Hello world”.

Sub Main

Print "Hello World"

End Sub

  1. Кликните на кнопке с зеленым треугольничком ("Выполнить Basic") в верхней панели для выполнения Вашего первого макроса OOo Basic.

  2. Сохраните документ.


Задание 3

OOo Basic основан на процедурах и функциях, которые задаются ключевыми словами Sub и Function – далее они будут называться процедурами или соответственно функциями. Каждая процедура может вызывать другие процедуры.

Каждый модуль (module) содержит набор процедур (функций). Библиотека (Library) содержит набор модулей. Документ (document) может содержать библиотеку или несколько библиотек. Библиотека может существовать также на уровне Приложения (application level), такого как OOo Calc.

Разница между Sub и Function в том, что функция возвращает значение, а процедура – нет. Макрос на Листинг 2 получает текстовую строку от функции с именем HellowWorldString.

  1. Создайте самостоятельно макрос состоящий из процедуры и функции (см. Листинг 3.2.).

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

  3. Покажите результат преподавателю.

Подсказка: используйте функцию InputBox() как в предыдущем разделе.

Листинг 3.2:Hello world” с использованием процедуры и функции.

Sub HelloWorld

Dim s As String

s = HelloWorldString()

MsgBox s

End Sub

Function HelloWorldString() As String

HelloWorldString = "Hello World"

End Function

Задание 4.

Написать программу на OpenOffice.org Basic для функции пользователя, которая вычисляет получаемую потребителем электроэнергию QH по количеству электроэнергии Q, которое вырабатывается производителем, и величине потерь P (%) при ее передаче: QH=Q(100-P)/100. Заполнить ячейку С2 следующей таблицы с использованием построенной функции пользователя:



Рис. 10.

Решение задания 4:

Вызовем OpenOffice.org Calc и создадим новую электронную таблицу. Воспроизведем данные, приведенные выше. Вызовем редактор OOo Basic: ^ Сервис=> Макросы=>Управление макросами=>OpenOffice.org Бэйсик... Выберем в диалоге выбора макроса пункт соответствующий названию документа, и нажмём кнопку «Создать». В появившемся окне напишем следующий текст программы :

Листинг 3.3.

Function QH(Q, P)

QH=Q*(100-P)/100

End Function

Далее вернемся в окно Рабочего листа 1, и при помощи мыши выберем ячейку С2, в которую необходимо внести число, вычисляемое по только что созданной пользовательской функции. Для этого щёлкнем левой кнопкой мыши в поле ввода формул (которое находится выше ячеек таблицы, после кнопок обозначенных f(x) ? = ) и напишем следующую строку:

=QH(A2;B2)

где QH название только что написанной функции, A2 адрес ячейки для аргумента Q, B2 адрес ячейки для аргумента P. После этого нажмём клавишу Enter на клавиатуре. В результате в ячейку С2 запишется значение функции QH, и Лист 1 примет вид:



Рис. 11. Результат вычисления функции

Задание 5.

Написать программу на OpenOffice.org Basic для следующей функции пользователя, используя ее дополнить таблицу вычисленными значениями и построить график зависимости y=y(x):



Таблица 1

X

0,10

0,15

0,20

0,25

0,30

0,35

0,40

0,45

0,50

Y





























Решение задания 5:

Поскольку с программу с длинными строками отлаживать неудобно, то напишем тело функции из нескольких строк:

Листинг 3.4.

Function FY(x)

a=1+Abs(0.2-x)

b=1+x+x*x

FY=a/b+Sin(x)

FY=FY+Log(x+2)

FY=FY-Atn(x^3+1)

FY=FY+Exp(-x)-Tan(x^3.13)

FY=FY+Sqr(x)+Cos(x+1)

End Function

Далее проведите расчеты с использованием данной функции пользователя и заполните таблицу. Не следует заполнять все ячейки значений аргумента x, вводя их с клавиатуры, так как это будет нерационально. Вместо этого введите два значения в ячейки B1 и С1, представляющие собой первый и второй члены арифметической прогрессии. Далее выделите диапазон ячеек B1:C1. Затем расположите указатель мыши на маркере заполнения выделенного диапазона, как показано ниже на рисунке, и протяните его вправо до получения числового ряда нужной длины:



Рис. 12

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

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

Для построения графика зависимости y=y(x) выберите Вставка>Диаграмма. Выберите тип диаграммы «Линии», «Только точки». Нажмите кнопку далее, и в поле вводу «Диапазон данных» введите диапазон

$A$1:$J$2

отметьте пункт «Ряды данных в строках» и включите пункты «^ Первая строка как надпись», «Первый столбец как надпись». Нажмите кнопку «Далее» два раза. В заголовке ось X введите символ X, а ось Y введите символ Y. В результате получим следующую картину:



Рис. 13.

Можете самостоятельно поработать с этим графиком с целью улучшения ее вида.

^ Выполните самостоятельно задания, приведенные ниже.

Составить программу на OOo Basic для определения функции пользователя y=y(x), заполнить таблицу значений функции при изменении аргумента в самостоятельно выбранном диапазоне и построить график зависимости y=y(x):

^ Задание 6 y=y(x)
Задание 7 y=x2+lnx+10,46 – tg x
Задание 8 y=x25+ln| x+10,46| – tg x

Задание 9
Задание 10 Постройте пользовательскую функцию для вычисления стоимости товара с НДС по его стоимости без НДС и ставки НДС. С использованием этой функции заполните таблицу, отражающую стоимость товаров без НДС и с НДС. Исходные данные выберите самостоятельно.

  1. ^

    Использование элементов управления


Мы привыкли использовать элементы управления в диалоговых окнах, формы в динамических Web-страницах. Элементы управления -это флажки (Check Box), переключатели (Option Button), раскрывающиеся списки (ListBox), счетчики (SpinButton), полосы прокрутки, кнопки (PushButton), поля для ввода текста (TextBox).

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

^ Рассмотрим следующую задачу.

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

В поля для ввода текста вносится информация о заказчике. В определенных ячейках введено текущее время и дата заказа.

Данные об ассортименте продукции внесены в обычный список, содержащий три колонки (номер по порядку, наименование, цена). Различные варианты скидок или надбавок можно внести в определенные ячейки, а можно использовать прямо в формулах.

Список выбора (форма) формируется по диапазону ячеек с наименованием пиццы. Различные опции, скидки, надбавки указываются с помощью переключателей или флажков. Очистка бланка делается нажатием кнопки.

  1. Для вставки элементов управления можно использовать панель инструментов Tools или Элементы управления (Рис.14-15).




Рис. 14. Рис. 15.

  1. При компоновке документа удобно визуальное проектирование формы. Для этого на панели инструментов необходимо нажать на кнопку

  2. Затем, выбрав необходимый элемент управления расположить его в нужном месте таблицы.

Например, мы хотим использовать флажок для указания срочности доставки. Если флажок включен – доставка срочная, за срочность установлена надбавка от стоимости заказа.

  1. Выбираем . Определяем его в нужное место документа. Затем в контекстном меню выбираем Элемент управления.

  2. Во вкладке Общие определяем текст подписи, цвет фона.

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

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



Рис. 16


  1. Адрес связанной ячейки нужно вводить вручную.

  2. Если во вкладке данные не указывать значение индекса, например 1 ,если флажок установлен и 0, если флажок снят, то в связанной ячейке будет значение ИСТИНА, если флажок поставлен, или ЛОЖЬ, если флажок снят.



Рис. 17

  1. Для установки переключателей сначала нажимаем на кнопку More Controls на панели Элементов управления и выбираем Окно группы.



Рис. 18.

  1. Можно воспользоваться Мастером форм для определения нужных данных.



Рис. 19.

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

  2. Затем обязательно в контекстном меню выбираем Элемент управления и во вкладке Данные указываем связанную ячейку. Для обоих переключателей связанная ячейка одна, поэтому она принимает значения 1 или 2 в зависимости от выбора переключателя. Особенность состоит в том, что возвращаемые значения индекса при установке флажка и номер установленного переключателя задаются в текстовом формате.



Рис. 20.

  1. Для того, чтобы раскрывался список имеющихся видов продукта, выбираем на панели инструментов элемент Список .

Необходимо в свойствах списка (вкладка Данные) указать связанную ячейку и диапазон ячеек, по которому список формируется. Адреса ячеек вводятся вручную. Исходный диапазон ячеек-это таблица с наименованием пиццы и ценой. Во вкладке Общие можно указать цвет фона, обрамление. Удобно таблицу, по которой формируется диапазон для списка расположить на другом листе документа.

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

^

Вопросы для самоконтроля


  1. Для чего предназначены макросы?

  2. Как изменить имя макроса?

  3. Какой самый простой способ записать макрос?

  4. На каких языках программирования можно создавать макросы?

  5. Возможно ли изменить макрос созданный автоматически?

  6. Как назначить макрос на панель инструментов?

  7. Как назначить макросу горячие клавиши?

  8. Что такое процедура?

  9. Что такое функция?

  10. Что такое модуль?

  11. Как открыть макрос для редактирования?

  12. Для чего предназначаются переменные?

  13. Какая разница между процедурой и функцией?

  14. Можно ли назначить макрос на событие?

  15. На какие события можно назначить макрос?

  16. Какие виды циклов вы знаете?

  17. Что такое операция ветвления?

  18. Перечислите основные объекты электронной таблицы?

  19. Возможно ли создать свою (пользовательскую функцию)?

  20. Какие основные типы переменных существуют в OOo Basic?

  21. Перечислите элементы управления в OpenOffice Calc?

  22. Для чего служат элементы управления?

  23. Для чего предназначена форма?

  24. Как макрос сделать доступным из всех документов?

  25. Как экспортировать макрос в другой документ?

Добавить документ в свой блог или на сайт

Похожие:

Лабораторная работа №5 Тема: Анализ данных в OpenOffice Calc
Процесс изменения значений ячеек и анализа влияния этих изменений на результат вычисления формул в OpenOffice org Calc называется...

Лабораторная работа №1 (ЛР1) Тема "Основы работы в OpenOffice org Calc"
Столбцы обозначены буквами латинского алфавита, а строки цифрами. Пересечение строки и столбца называется клеткой или ячейкой

Лабораторная работа №2 (ЛР2) Тема "Работа с текстовыми данными в OpenOffice org Calc"
Редактирование данных в активной ячейке можно выполнить тремя способами (для завершения редактирования всегда нужно нажать клавишу...

Лабораторная работа №1 Тема: Основы работы в OpenOffice org Calc...
Электронные таблицы используются для хранения данных и выполнения вычислений. В рабочей книге ooo Calc может содержаться произвольное...

Лабораторная работа №1 Тема: Основы работы в OpenOffice org Calc...
Электронные таблицы используются для хранения данных и выполнения вычислений. В рабочей книге ooo Calc может содержаться произвольное...

Лабораторная работа №1
Изучить основные функции электронной таблицы OpenOffice org Calc для работы с файлами: открытие, создание и сохранение документа

Лабораторная работа №3 Тема: Построение диаграмм в OpenOffice Calc
...

Практическая работа №1 Тема
Практические работы по использованию OpenOffice org Calc для решения финансово-экономических задач

Лабораторная работа №6 Тема: Финансовый анализ в OpenOffice Calc...
Финансовый анализ данных в OpenOffice org Calc осуществляется с помощью финансовых функций. Категория финансовых функций включает...

Лабораторная работа №3 (ЛР3) Тема "Копирование и перемещение данных в OpenOffice org Calc"
Вырезать, Копировать, Вставить (или соответствующих кнопок на пи, или быстрых клавиш Ctrl+X, Ctrl+C, Ctrl+V)

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
odtdocs.ru
Главная страница