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

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

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

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

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

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

В 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 предусмотрена поддержка четырех классов переменных.

Массивы

В 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.



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