Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
open-offis-calk.doc
Скачиваний:
21
Добавлен:
16.11.2018
Размер:
515.58 Кб
Скачать

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

Мета: Навчитися автоматизувати складні дії у OpenOffice Calc

План:

  • Автоматичне створення макросів

  • Ручне створення макросів

Теоретичні відомості

Макрос (від англ. Macros) - програмний об'єкт, що при обробці «розгортається» в послідовність дій та/або команд.

У багатьох «офісних» продуктах (Microsoft Office, OpenOffice.org та ін) при обробці макросу автоматично виконується визначена для кожного макросу послідовність дій - натискання на клавіші, вибір пунктів меню і т. д. Надається інтерфейс для запису нових і перезапису існуючих макросів.

Макроси використовуються для автоматизації дій в 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

Оголошує змінну “а” як рядок, змінну “b”- як ціле число.

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 - коротка форма слова 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, відбувається вихід тільки з одного циклу.

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