
08_lk_ei
.pdf121
значення і нажати Enter . Для видалення імені з панелі інспектора виділите його або введіть ім'я в поле Контрольне значення і натисніть значок
Вилучити контрольне значення . Натискання на ім'я в панелі інспектора поміщає імена в поле Контрольне значення. Можливості вікна інспектора були розширені в OOo 2.0. Наприклад, Можна тепер спостерігати масив або об'єктну змінну; це дуже вражає.
11.2 Зберігання макросів у бібліотеці документів
Кожний документ Openoffice.org є контейнером бібліотек і здатний містити макроси і діалоги. Коли документ містить макроси, які він використовує, володіння документом має на увазі володіння макросом. Це зручний метод поширення і зберігання. Пошліть документ іншій людині або зміните його розміщення і макроси будуть доступні і придатні до вживання.
Традиційний метод вистави мови програмування, написання програми тем або іншим способом вивідної повідомлення "Hello World".
11.2.1 Створення бібліотеки
Усі документи OOo, незалежно від типу документа, можуть містити макроси. Щоб додати макрос до будь-якого документа OOo, документ повинен бути відкритий для редагування. Спочатку, створимо новий текстовий документ, який буде називатися "Безіменний1" — припускаючи, що ніякий інший ще неназваний документ не є відкритим у цей час. Коли документ створений, Openoffice.org створює порожню бібліотеку по іменам Standard. Бібліотека Standard, однак, залишається порожній, поки не створений вручну новий модуль. Використовуйте діалогове вікно Макрос Openoffice.org, щоб організувати бібліотеки і модулі: виконаєте Сервіс ( Макроси ( Керування макросами ( Openoffice.org Basic (рис. 1.3).
Список "Макрос із" відображає доступні контейнери бібліотек; він включає кожний відкритий документ, ваші особисті макроси, і макроси, розповсюджувані з OOo. Ваші особисті макроси, відображувані як "Мої макроси" на 1.3, звичайно зберігаються у вашому особистому каталозі користувача. "Макроси Openoffice.org" звичайно зберігаються окремо в каталозі із програмними файлами OOo. Хоча ваш особистий макрос збережений і відображається окремо від макросів OOo, обоє, є частиною бібліотеки прикладного рівня. Контейнери бібліотеки документа перераховані з використанням заданого імені документа. Більшість контейнерів бібліотек уже має бібліотеку по імені Standard. Виконаєте подвійне клацання на значку контейнера бібліотеки для відображення бібліотек, що втримуються. Виконаєте подвійне клацання на бібліотеці для

122
відображення модулів, що втримуються.
Рисунок 11.3 – Використання діалогу Макроси для створення нового макросу і організації бібліотеки.
Бібліотека Standard для безіменного документа автоматично створюється при створенні нового документа. Документ у цей час не містить ніяких модулів — помніть, що макроси зберігаються в модулях. Хоча Ви могли нажати на кнопку Створити для створення нового модуля, не робіть цього! Пункт цього розділу повинен створити нову бібліотеку.
Натисніть на кнопку Керування, щоб відкрити діалог Керування макросами. Як і в діалоговому вікні Макрос, тут перераховані всі контейнери бібліотек. На рис.11.4 бібліотека Standard підсвічена в документі "Безіменний1"; прокрутите список униз, щоб знайти "Безіменний1", якщо потрібно. Діалог Керування макросами містить кілька закладок і поточна закладка Модулі. Оскільки назва має на увазі, закладка Модулі має справа з модулями. От опис пунктів цього діалогу:
– Кнопка Новий модуль створює новий модуль в обраній бібліотеці.
–Кнопка Вилучити видаляє обраний у цей час модуль; не доступна, якщо модуль не обраний.
–Кнопка Редагувати відкриває обраний у цей час модуль для редагування в IDE (Integrated Development Environment — Інтегроване середовище розробки;); не доступна, якщо модуль не обраний.
–Кнопка Закрити закриває діалог Керування макросами.

123
Рисунок 11.4 – Використання діалогу Керування макросами для керування модулями.
Ціль цього розділу полягає в тому, щоб створити бібліотеку названу осмислено, яка втримується в документі "Безіменний1". Перейдіть на вкладку Бібліотеки, щоб мати справа з бібліотеками (рис. 11.5).
Рисунок 11.5 – Використання діалогу Керування макросами для керування бібліотеками.
Коли ця частина діалогу відображається, у списку Додаток/Документ

124
обраний контейнер Мої макроси і діалоги. Виберіть документ "Безіменний1" так, щоб зміни проводилися в безіменному документі. Кнопки, показані на закладці Бібліотеки, торкаються бібліотек, а не модулі. От їхній опис:
Рисунок 11.6 – Виберіть значуще найменування для бібліотеки.
Натисніть кнопку Нова бібліотека для створення нової бібліотеки (рис. 11.6). Хоча назва за замовчуванням "Library1", краще вибрати значуща назва, типу "Myfirstlibrary" або "Testlibrary". Натисніть OK, щоб створити бібліотеку.
Діалогове вікно Керування макросами тепер містить знову створену бібліотеку в списку Бібліотек (рис. 11.7).
Рисунок 11.7 – Документ тепер містить бібліотеку по імені Testlibrary.
11.2.2 Створення модуля
Макроси зберігаються в модулі, у такий спосіб наступним кроком повинне бути створення модуля в тільки що створеній бібліотеці. Припускаючи, що діалог Керування макросами (рис. 11.5) усе ще відкритий, виберемо вкладку Модулі (рис. 11.8).

125
Рисунок 11.8 – Testlibrary містить один модуль по імені Module1.
Недавно створена бібліотека Testlibrary тепер відображається в діалозі Керування макросами. Виберіть Testlibrary або будь-який модуль, що втримується в цій бібліотеці, і потім натисніть кнопку Новий модуль для створення нового модуля.
Рисунок 11.9 – Новий модуль.
Ім'я за замовчуванням Module1; виберіть більш описову назву для модуля і натисніть OK, щоб створити його.
Використовуйте описові назви модуля, щоб уникнути безладдя. Це важливо при переміщенні між модулями.
Розповсюджена помилка полягає у виборі неправильного контейнера бібліотек у діалогах Макрос або Керування макросами. Найпоширеніша помилка полягає у виборі бібліотеки або модуля в прикладному контейнері (Мої макроси або Мої діалоги), а не в певному документі. Знайдіть назву документа в списку. Назва документа визначена полем Заголовок, установленим у діалозі Властивості документа. Використовуйте Файл → Властивості для відкриття діалогу Властивості документа. Заголовок заданий на вкладці Опис. Якщо Заголовок не заданий, замість нього

126
використовується ім'я файлу.
Два документи з однаковим заголовком у діалозі Властивості документа використовують однакові імена в діалозі Макрос, у діалозі Керування макросами і у заголовку вікна. Це заплутує, так пробуйте уникнути цього.
Крок 3. Уведення вашого першого макросу Якщо діалогове вікно Керування макросами усе ще відкрите, Можна
виділити недавно створений модуль і нажати кнопку Редагувати . Це відкриє Basic IDE (рис. 11.11). Інший вибір полягає у використанні діалогу Макрос. Якщо діалог Керування макросами відкритий, натисніть кнопку Закрити для відкриття діалогу Макрос. Якщо діалог Керування макросами не відкритий, виконаєте Сервіс → Макрос → Керування макросами > Openoffice.org Basic для відкриття діалогу Макрос (рис. 11.10).
От опис кнопок у діалозі Макрос:
– Кнопка Виконати виконує обраний макрос. Макрос обраний у правому списку, і його назва також з'являється у верхньому лівому полі введення, названому "Назва макросу".
Рисунок 11.10 – Вибір певного макросу.
–Кнопка Закрити закриває діалог Макрос.
–Кнопка Призначити зв'язує макрос із певною подією. Призначення макросів подіям обговорюється далі.
–Кнопка Редагувати відкриває IDE для редагування обраного макросу.
–Кнопка Вилучити видаляє обраний макрос. Ця кнопка присутня, тільки якщо модуль обраний. Якщо бібліотека або документ обрані в списку "Макрос із", кнопка Вилучити заміняється на Створити. Кнопка Створити створює новий макрос в обраній бібліотеці.
–Кнопка Керування відкриває діалог Керування макросами.

127
– Кнопка Довідка відкриває систему допомоги.
Призначення діалогу Макрос полягає в тому, щоб працювати з окремим макросом. Виберіть Myfirstmodule і натисніть кнопку Редагувати для відкриття Basic IDE (рис. 11.11). Одна порожня підпрограма, Main, автоматично створюється при створенні модуля. IDE, показана на рис. 11.11, була відкрита натисканням на Myfirstmodule і потім натисканням на кнопку Редагувати . Уведіть код, наведений нижче.
Програма "Hello World".
Sub main Helloworld2()
End Sub
Sub Helloworld1 Print "Hello World One"
End Sub
Sub Helloworld2 Print "Hello World Two"
End Sub
Рисунок 11.11 – Розробка макросу в IDE.
IDE містить панелі інструментів Макрос і Стандарт, позначені нарис. 1.11. (Більшість значків на панелі інструментів Макрос описані в розділі "Інтегроване середовище розробки") Зупините курсор Вашої миші на кожному зі значків панелі інструментів на п'ять секунд і прочитайте текст, що з'являється; це дає підказку про призначення даного значка.

128
Рисунок 11.12 – Натисніть на значок Компіляція, щоб знайти синтаксичні помилки, такі як відсутність лапок
Натисніть на значок Компілювати , щоб перевірити макрос на наявність синтаксичних помилок. Повідомлення не відображається, якщо помилки не знайдені (рис. 11.12). Натискання на значок Компіляція здійснює виконання компіляції тільки для поточного модуля.
Зміните код у приклад 1. для демонстрації помилки. Вилучите другі лапки із твердження Print в Helloworld1 (рис. 11.12). Після чого натисніть значок Компіляція . Діалог показує важливе повідомлення про помилку для першої помилки, з якої зустрічаються. Повідомлення про помилку на рис. 1.12указує, що очікувалися лапки, але не була знайдена. Перший символ лапок виділений, і червона стрілка відзначає рядок з помилкою. Натисніть кнопку OK для закриття діалогу повідомлення про помилку, виправте рядок, додавши лапки наприкінці, і потім скомпілюйте код заново.
Натисніть на значок Виконати для запуску першої підпрограми в поточному модулі. Немає необхідності натискати спочатку на значок Компіляція, тому що натискання на значок Виконати автоматично компілює кожний модуль у поточній бібліотеці. Натискання на значок Виконати запускає тільки першу підпрограму в модулі. Для приклад 1., значок Виконати запускає першу підпрограму, яка називається "main". Підпрограма main викликає підпрограму Helloworld2, що відображає діалог показаний на рис. 1.13. Натисніть OK для закриття діалогу або натисніть Скасування для зупинки макросу.
Рисунок 11.13 – Натисніть OK для закриття діалогу.
129
Значок Виконати завжди запускає перший макрос у поточному модулі. У результаті, потрібні різні хитрування для запуску Helloworld1. Для запуску Helloworld1 Можна використовувати один з наступних методів:
– Помістити Helloworld1 першої в модулі і нажати на значок
Виконати.
- Змінити підпрограму main для виклику Helloworld1, а не
Helloworld2.
-Використовувати діалог Макрос (показаний на рис. 11.10) для запуску будь-якої підпрограми в модулі.
-Додати кнопку у Ваш документ Openoffice.org, яка викликає
Helloworld1. Цей метод обговорюється далі.
– Призначити макрос на натискання клавіші. Щоб зробити це, виконаєте
Сервіс → Настроювання для відкриття діалогу Настроювання, і перейдіть на вкладку Клавіатура. Бібліотеки макросів перебувають у нижній частині списку Категорії. Можна також знайти їх, нажавши Сервіс →
Макрос → Керування макросами → Openoffice.org Basic, вибрати певний макрос, і потім нажати кнопку Призначити, щоб відкрити вікно Настроювання. Різні вкладки цього діалогу дозволяють Вам призначити макрос для виконання як пункт меню, від клавіші клавіатури, значка на панелі інструментів або системної події.
- Додайте значок на панель інструментів, який викликає Helloworld1. Щоб використовувати діалогове вікно Макрос для запуску будь-якої
підпрограми в модулі, виконаєте наступні кроки:
1.Виконаєте Сервіс → Макрос → Керування макросами →
Openoffice.org Basic для відкриття діалогу Макрос (рис. 11.10).
2.Знайдіть документ, який містить модуль у списку "Макрос із".
3.Виконаєте подвійне клацання на бібліотеці для відображення модулів, що втримуються в ній.
4.Вибрати модуль, щоб відобразити, що втримуються підпрограми і функції в списку "Існуючі макроси: <ім'я обраного модуля>".
5.Виберіть необхідну для запуску підпрограму або функцію –
наприклад, Helloworld1.
6. Натисніть кнопку Виконати для запуску підпрограми або функції. При розробці програми помістите її в початок модуля, так Ви зможете
швидко виконати її, нажавши на значок Виконати. Інший розв'язок полягає в тому, щоб використовувати першу підпрограму для виклику іншої. Це швидше, чим використання діалогу Макрос.
Код, використовуваний у цій главі, доступний у текстовому документі Openoffice.org по імені SC01.sxw. Завантажите і відкрийте цей документ. Коли документ, що містить макровизначення відкривається, Openoffice.org видає попередження (див. рис. 11.14). Це попередження допомагає Вам уникнути випадкового запуску макросу, що містить вірус. Хоча Можна

130
вручну запускати будь-який макрос використовуючи діалог Макрос, кнопки із прив'язаними макросами в документі не будуть функціонувати. Натисніть Включити макроси, щоб повністю дозволити застосування кнопок з макросами, доданими в SC01.sxw.
Рисунок 11.14 – Відкриття документу, який містить макрос.
Можна сконфигурировать документ для автоматичного запуску макросу при завантаженні документа. Це один з методів поширення макровірусів при використанні документів. Якщо Ви не очікуєте, що документ містить макрос, Ви повинні завжди натискати Відключити макроси. Це перешкоджає автоматичному запуску будь-якого макросу при завантаженні документа.
SC01.sxw містить три кнопки: Main, Hello World 1 і Hello World 2. Кожна кнопка сформована для запуску відповідної підпрограми, коли на кнопку натискають. Кнопки нічого не роблять, якщо Ви натискаєте Відключити макроси при завантаженні документа.
Можливо додати каталог у список "безпечних шляхів". Якщо Ви певен, що каталог містить документи, яким Можна повністю довіряти, що вони не містять макровіруси, Можна додати шлях до даного каталогу в список безпечних шляхів. Використовуйте Сервіс → Параметри →
Openoffice.org → Безпека → Безпека макросів → Довірені джерела і додайте відповідні місця розташування файлів, яким довіряєте. Усі документи, завантажені з довірених джерел, будуть уважатися безпечними, і макроси завжди будуть запускатися.
11.2.3 Зберігання макросу в бібліотеці додатків
Додаток Openoffice.org саме є контейнером бібліотек. Це чудове місце для зберігання коду і діалогів, загальних для багатьох документів. Контроль версії легше, якщо макроси збережені в одному місці. Якщо п'ять документів, усе містять той самий макрос, мало того, що область пам'яті витрачена впусту, але якщо макрос змінюється, Ви повинні змінити макрос у п'ятьох різних документах.