Вивчення макросів у OpenOffice.org
Козінцева, Є. А. Вивчення макросів у OpenOffice.org / Є. А. Козінцева. - Текст: безпосередній // Молодий учений. - 2014. - № 8 (67). - С. 82-83. - URL: https://moluch.ru/archive/67/11388/ (дата звернення: 27.11.2024).
Однією з основних вимог, що висуваються до сучасного фахівця, практично у будь-якій сфері діяльності є вміння користуватися персональним комп'ютером та знання основних офісних програм.
Нещодавно виникла проблема, пов'язана з програмним забезпеченням, що використовується у навчальних закладах.
На сьогодні в школі, як і в деяких інших сегментах ринку, переважають закриті операційні системи і платформи (Windows), і прикладні програмні продукти (Microsoft Office, Adobe Photoshop, Corel Draw та ін.) Однак це програмне забезпечення вимагає значних коштів на їх придбання. У зв'язку з цим, розробляється концепція переходу навчально-виховного процесу школи на вільне програмне забезпечення, яке практично ні в чому не поступається своїми функціональними можливостями пропрієтарному ПЗ, а в деяких аспектах і перевершує його.
Уряд РФ розпорядженням від 17 грудня 2010 року № 2299-р затвердив план переходу федеральних органів виконавчої влади та федеральних бюджетних установ на використання вільного програмного забезпечення на 2011-2015 роки. Впровадженням СПО в держорганах займаються Мінкомзв'язку та структури Міносвіти — вони забезпечують школи безкоштовним програмним забезпеченням на базі одного з різновидів СПО, системи Linux.
Операційна система Linux містить досить великий пакет офісних програм таких як:
Writer (текстовий процесор);
Draw (графічний редактор);
Impress (система презентацій);
Math (редактор формул) тощо. буд.
Поява вільного пакету OpenOffice.org є реальною альтернативою монополії Microsoft. OpenOffice.org – це повноцінний офісний пакет, сумісний із Microsoft Office.
Можливості офісного пакету OpenOffice.org легко розширити, написавши макрос, що реалізує недостатній функціонал. Це можна зробити, озброївшись API OpenOffice.org та вибравши мову програмування: OOBasic (вбудований у OpenOffice.org), Java, JavaScript або Python.
Наступна таблиця перелічує мови, доступні розробки макросів у кожному офісному пакеті.
Макроси – програми, які автоматизують завдання та можуть бути впроваджені в документ. Макрос допоможе автоматизувати дії, які вимагають тривалих ручних маніпуляцій з можливими помилками. За допомогою макросів створюються меню користувача, діалогові вікна та панелі інструментів, що покращують і змінюють інтерфейс додатків. Приклад простого макросу - "виведення" вашої адреси.
Мова програмування OOBasic може бути розділена на чотири компоненти:
1. Мова OOBasic: визначає елементарні лінгвістичні конструкції, наприклад, визначення змінних, циклів і функцій;
2. Бібліотека часу виконання: забезпечує стандартні функції, які не мають жодного прямого зв'язку з OpenOffice.org, наприклад, функції для редагування чисел, рядків, значень даних та файлів;
3. OOo API (Інтерфейс прикладного програмування): забезпечує доступ до документів OpenOffice.org, а також дозволяє їх створювати, змінювати, зберігати та друкувати;
4. Редактор Діалогів: дозволяє створювати діалогові вікна та забезпечує можливість додавання елементів керування та обробників подій.
У OpenOffice.org програми, логічно пов'язані між собою, зберігаються у модулі. Логічно пов'язані модулі зберігаються у бібліотеках, а бібліотеки – у контейнерах бібліотек.
OpenOffice.org має вбудовану програму-реєстратор, яка може запам'ятовувати всі дії користувача з документом і на основі їх створювати програмний код, який записується в модуль.
Перед створенням макросу в макрореєстраторі необхідно ретельно продумати, що планується робити у якій послідовності. Далі слід перевірити, чи немає готової команди. Переглянути готові команди можна через пункт меню Сервіс -> Настройка, вибравши у вікні закладку Панелі інструментів.
Макрорекордер (або просто «рекордер») записує всі дії користувача, включаючи помилки та неправильні запуски. Коли програма відтворює макрос, вона виконує кожну записану рекордером команду точно в такій послідовності, якою вона виконувалася під час запису. Перші макрорекордери мали серйозну ваду. Якщо під час запису довгої послідовності дій було допущено помилку, то єдиною можливістю видалити цю помилку була повторна запис макросу. Крім того, якщо треба було внести невелику зміну до довгого макросу, то також доводилося перезаписувати весь макрос. Перезапис довгого макросу часто призводив до додаткових помилок у новому записі. З цих причин розробники програмного забезпечення додали макрорекордерам можливість редагування макросів, щоб можна було легко виправляти невеликі помилки або вносити інші зміни до макросу без його повного перезапису.
- Відкриття вікон не реєструється.
- дії, виконані інших вікнах (де реєстратор не запущений), не реєструються.
- Перемикання вікон не реєструється.
- дії, які пов'язані з вмістом документа, не реєструються. Наприклад, зміни, внесені до діалогового вікна «Параметри», організатор макросів, налаштування.
- виділення реєструються лише в тому випадку, якщо вони виконуються за допомогою клавіатури (переміщення курсора), але не реєструються при використанні миші.
- макрореєстратор працює тільки в Calc та Writer.
Зазвичай макрос містить такі елементи.
Ключове слово Sub. Цим позначається початок макросу. Через ключове слово Sub (від анг subroutine - підпрограма) командні макроси також називаються процедурами-підпрограмами.
Макрос ім'я. Після ключового слова Sub додає ім'я макросу.
Коментарі. Перші кілька рядків коду починаються з апострофа «», які говорять редактору, що ці рядки є коментарями. Коментарі відображаються лише у вікні редактора, при виконанні макросу вони не обробляються. У кожному записаному макросі в коментарях вказується ім'я макросу, а також опис, який ви ввели у діалоговому вікні "Запис макросу".
Макрооператори. Основне тіло макросу (тобто рядки між ключовими словами Sub і End Sub, виключаючи коментарі на початку макросу) складається з послідовності операторів. Вони є інтерпретацією дій, які ви здійснили під час запису макросу.
Рядки макросу в модулі є звичайним текстом, який можна змінювати так, як це робиться в будь-якому текстовому редакторі. Якщо макрос містить оператори, які потрібно видалити, можна просто видалити зайві рядки з модуля
У навчальному посібнику М.М. Д. Угриновича за 9 клас «Інформатика та ІКТ» OOBasic розглядаються у розділі «Основи алгоритмізації та об'єктно-орієнтованого програмування».Тут використовують такі практичні завдання як: "Знайомство з системами об'єктно-орієнтованого та алгоритмічного програмування", "Проект Змінні", "Проект Калькулятор", "Проект Строковий калькулятор", "Проект Дати та час", "Проект Порівняння кодів", "Проект Позначка», «Проект Коди символів», «Проект Слово-перевертень».
Аналіз рекомендованих Мінобрнауки РФ підручників показав, що в інших навчальних посібниках OOBasic не розглядається.
Мною створено конспекти уроків, які дозволять учням навчитися застосовувати макроси в OpenOffice Calc. Були розроблені такі конспекти як: Автоматичне створення макросів, Лабораторно-практична робота "Створення макросів", Лабораторно-практична робота "Створення функцій", Лабораторно-практична робота "Умовні та циклічні оператори". У цих уроках OOBasic розглядаються як програма для програмування, бо як корисна додаткова функція. Для цього не обов'язково бути програмістом. Отже, макроси можна використовувати у двох випадках: для автоматизації рутинних повторюваних дій, або для того, щоб додати функції, що не дістають.
1. Угрінович Н. Д. Інформатика та ІКТ: підручник для 9 класу/Н. Д. Угрінович, Л. Л. Босова, Н.А. І. Михайлова - М.: БІНОМ. Лабораторія знань, 2012. - 295 с.
2. Пітоньяк Ендрю OpenOffice.org Пояснення Макросов: учеб.посібник / Е.Пітоньяк: 2004.-522 с.
3. Бейн М. А. Вивчення програмування макросів для електронних таблиць у OpenOffice.org OOo Basic та Автоматизація Calc: навч. посібник/М. А. Бейн: 2008. - 151 с.
4. Малєв Ст. Ст. Загальна методика викладання інформатики: навч. посібник. / Ст. Ст. Малєв - Воронеж: ВДПУ, 2005. - 271 с.
Основні терміни
(генеруються автоматично): API, VBA, макрос, програмне забезпечення, ім'я макросу, ключове слово, ні, практична робота, діалогове вікно, довгий макрос.
Вчимося писати макроси для OpenOffice
У прикладі ми пишемо регулярне вираз, що видаляє прогалини та знаки табуляції на початку абзацу.
Що сказати? Універсально. Але чотири рази на кожну статтю писати регулярний вираз мені здається надто довго.
Інше рішення:
Потрібно написати макрос. Це дуже просто. У OpenOffice хороша російська документація і є вбудована підтримка регулярних виразів.
Знайдіть меню Сервіс → Макроси → Управління макросами → OpenOffice.org Бейсік.
Створіть макрос, наприклад під іменем Typograph.
'тут ініціалізуємо об'єкти
Dim Doc As Object
Dim Replace As Object
'вказуємо об'єкт, з яким працюватимемо
Doc = StarDesktop.CurrentComponent
'створюємо об'єкт типу ReplaceDescriptor
Replace = Doc.createReplaceDescriptor
Об'єкт працює з регулярними виразами
Replace.SearchRegularExpression = True
'Видаляємо знаки табуляції та пробілу на початку абзацу
Replace.SearchString = "^( |\t)*"
Replace.ReplaceString = ""
Doc.replaceAll(Replace)
Вилучаємо знаки табуляції та пробілу в кінці абзацу
Replace.SearchString = "( |\t)*$"
Replace.ReplaceString = ""
Doc.replaceAll(Replace)
'замінюємо дефіс на тирі в середині тексту
Replace.SearchString = " - "
Replace.ReplaceString = " - "
Doc.replaceAll(Replace)
'замінюємо дефіс на тирі на початку абзацу
Replace.SearchString = "^-"
Replace.ReplaceString = "-"
Doc.replaceAll(Replace)
End Sub
Збережіть та закрийте вікно Бейсіка. Воно більше не потрібне. Тепер потрібно зробити так, щоб макрос під назвою «Typograph» викликався натисканням, наприклад Ctrl+Shift+D.
Заходимо в меню Сервіс → Настойка:
Встановіть комбінацію клавіш для макросу.
Можливо, ви побачите вікно про помилку:
Не бійтеся. Ви просто встановили собі версію OpenOffice без JRE. Натисніть кнопку «OK» і продовжуйте. Все чудово працює і без JRE.
Залишилось перевірити роботу скрипту. Скопіюйте наступний текст у редактор і натисніть Ctrl+Shift+D.
УРА. Тепер я вмію писати макроси для OpenOffice. Можна легко видалити всі зайві відступи на початку та наприкінці абзацу, а також встановлювати тире замість дефісу на початку абзацу, та – в середині. - Я сподіваюся, ви засвоїли урок?
А тепер вправу! Удосконаліть макрос. Нехай він замінює послідовність з одного або більше символів пробілу та табуляції на один пробіл у всьому тексті. Вираз пошуку послідовності пробельних символів виглядає так ( |\t)+.
Створення макросів у LibreOffice та OpenOffice
Оригінал: Creating Macros Without Scripting in LibreOffice and OpenOffice
Автор: Jack Wallen
Дата публікації: 15 листопада 2010
Переклад: В. Семененко
Дата перекладу: травень 2011 р.
Вступ
Якщо при своїй повсякденній роботі в LibreOffice (або OpenOffice) ви постійно виконуєте ті самі завдання, вам варто звернути увагу на таку можливість цих пакетів, як макроси. Чи вставляєте ви однаковий текст знову і знову, чи форматуєте його, чи здійснюєте дії з великою кількістю натискань клавіш - у всіх цих випадках ви можете заощадити свій час, автоматизувавши свою роботу. LibreOffice (а до цього - OpenOffice) включає Інструмент макросів, що дозволяє швидко створювати і керувати останніми.
Більшість звичайних користувачів, побачивши або почувши слово "макрос" лякаються, що їм доведеться справді створювати якісь програми.Заспокойтеся – для цього не потрібно бути програмістом! За допомогою LibreOffice вам не потрібно писати жодного рядка скрипту. Цей пакет з відкритим вихідним кодом має простий у використанні інструмент для запису макросів і такий самий зручний спосіб організації швидкого доступу.
Давайте приступимо до процесу створення та управління макросами в LibreOffice. Всі наведені нижче приклади будуть виконані в цьому пакеті. Ви також можете працювати в OpenOffice, оскільки LibreOffice є зовсім недавнім відгалуженням OpenOffice, тому в ньому поки що мало що змінилося. Якщо у вас дистрибутив Linux, за умовчанням, стандартний набір якого входить OO.org (таких на сьогоднішній більшість), вам немає жодної необхідності виконувати апгрейд системи або додатково встановлювати LibreOffice.
Що таке макрос
Якщо сказати просто – макрос, це послідовність дій, що записується за допомогою простого меню. Коли ви вибираєте запис макросу, дії, які ви виконуєте, автоматично зберігаються у вигляді коду скрипта. І надалі він буде виконуватися сам, точно повторюючи ваші маніпуляції в програмі. Макрос може бути як простим, так і дуже складним – все залежить від того, що вам необхідно від нього. Головні критерії, які пред'являються макросам - це бути потужним і одночасно простим у використанні. Макроси LibreOffice відповідають саме таким вимогам. Ну що ж, приступимо.
Управління макросами
Перш ніж ми розпочнемо створення свого макросу, нам необхідно познайомитися з інструментом для управління останніми. Переходимо по дорозі Tools - Macros - Organize
Macros - LibreOffice
Basic Macros
(Сервіс - Макроси - Управління макросами - LibreOffice Basic Macros):
У лівому вікні відображається список встановлених за замовчуванням макросів. Можна вибрати будь-який із них для редагування. Однак для цього ви повинні знати скриптову мову, яка використовується в LibreOffice для написання макросів. Метою цієї статті є вивчення основ роботи за допомогою інструменту для запису макросів. Звичайно, якщо ви добре знайомі з мовою, якою пишеться код, ви можете в цьому вікні редагувати або створювати свої власні - це на ваш розсуд.
Головне завдання цього вікна – вибрати потрібний вам макрос, призначити йому кнопку на панелі інструментів або пов'язати його з якоюсь подією. Призначення макросу кнопки дозволяє швидко виконувати найчастіше використовувані з них.
Варто зауважити, що створення макросу в автоматичному режимі (запис) все ж таки передбачає хоча б невелике знання мови, оскільки іноді нам знадобиться його редагувати. Для того, щоб мати уявлення, як скрипт виглядає у вихідному коді, достатньо вибрати будь-який з них та натиснути кнопку Редагувати (Edit).
Запис макросів
Розглянемо найпростіший приклад. Ми маємо якийсь текст, уже вставлений у документ і нам потрібно зробити заголовок для нього, тому що наш текст використовуватиметься у діловому листуванні.
Наш майбутній макрос повинен буде вміти:
- розташувати текст нагорі по центру сторінки;
- ввести текст, який і використовуватиметься як заголовок.
Після того, як створимо макрос, ми призначимо кнопку на панелі інструментів. Після достатньо буде одного клацання миші, щоб вставити заголовок у документ.
Виконаємо послідовність кроків.
Крок 1
Відкриваємо текстовий документ. Перейдемо Tools - Macros - Record Macro. З'явиться маленьке вікно "Запис макросу" з однією єдиною кнопкою "Завершити макрос" (Stop
Recording):
(Примітка: можливо, для включення такої можливості потрібно поставити пакет libreoffice-kde4 , якщо він ще не встановлений. Або ж увімкнути її, перейшовши: Сервіс - Параметри - Загальні - Включити експериментальні можливості).
Крок 2.
Створимо заголовок тексту. Клацніть мишею на кнопці "Center alignment" ("По центру") для того, щоб наш майбутній текст був саме по центру документа. Тепер пишемо сам текст заголовка. Не варто задавати різні формати для нього (шрифт або жирний/курсив/підкреслений), оскільки макрос не запам'ятовує такі дії.
Крок 3
Після завершення створення заголовка клацніть мишею на кнопці "Завершити макрос" вікна "Запис макросу". Відразу з'явиться вікно Організатора макросів. Введіть ім'я для нового макросу (наприклад, Letterhead). Тепер можна зберегти його в те місце, де б ви хотіли (наприклад, папка "Мої макроси").
Крок 4.
Тепер нам залишилося додати кнопку на панелі інструментів для макросу Letterhead. Процес цей не такий простий, як здавалося б на перший погляд.
Відкриваємо
LibreOffice
Basic
Macros, натискаємо кнопку "Assign" ("Призначити"). З'явиться наступне вікно Customize, в якому нам слід перейти на вкладку Toolbars і переконатися, що в полі "Панель інструментівстоїтьСтандартна" (Standart) .
Натискаємо у цьому вікні кнопку "Додати" (Add). З'явиться ще одне вікно -Додавання команд" (Add commands).
У списку лівого вікнаКатегорії" (Category) знаходимо "Макроси LibreOfficeВідкриваємо його і добираємося до нашого макросу. Як тільки знайшли - залишилося виконати останній і найпростіший крок. Перетягуємо мишею макрос Letterhead у те місце панелі інструментів, де б ми хотіли його бачити.
Все, із завданням впоралися.
Крок 5.
Тепер все, що нам необхідно робити, - це користуватися кнопкою Letterhead на панелі. Наприклад, відкриваємо новий документ та натискаємо кнопку Letterhead. Наш макрос створить заголовок саме з тим текстом, який ми "призначили" йому і розмістить його нагорі документа точно по центру.
Зручно, чи не так?
Висновок
Звісно, у нашому прикладі ми створили дуже простий макрос. Але за допомогою вищеописаних інструментів ви можете створити дуже складні макроси. І не тільки у Writer, а й у всіх інших додатках пакету LibreOffice (Spreadsheet, Presentations тощо).
Тепер, коли ви маєте уявлення, як створювати макроси, ви можете легко створювати свої власні для того, щоб полегшити свою роботу.