Ascaron Systems

Да се ​​научим да пиша макроси за OpenOffice

Необходими техники за професионална работа с текст. Показва пример за използване на макроси и регулярни изрази.

Цел: Да се ​​направи обработка на текст за изделията:

  • премахне всички пространства и раздели от началото и в края на абзац,
  • Замяна на всички тиретата в таблото в текста, включително и в началото на параграфа.

Един пример е даден за версията на OpenOffice 2.4.0

Стандартен разтвор:

търсене и замяна, натиснете Ctrl + F

В примера пишем регулярен израз премахва интервали и табулатори в началото на абзац.

Какво мога да кажа? Универсално. Но четири пъти на всяка статия, за да пишат регулярен израз Мисля, че твърде дълго.

Друго решение:

Необходимо е да се напише макрос. Много е лесно. В OpenOffice добър руски документация и има вградена поддръжка за регулярни изрази.

Намери меню Инструменти → → Makrosy Макро → на OpenOffice.org BASIC.

Създаване на макрос, например, под Typograph за името.

"Тук сме се инициализира обекти
Дим Doc Както Object
Дим Сменете Както Object

"Посочете обекта, който ще работи
Doc = StarDesktop.CurrentComponent
"Създаване на обект от тип ReplaceDescriptor
Сменете = Doc.createReplaceDescriptor
"Механизъм работи с регулярни изрази
Replace.SearchRegularExpression = True

"Премахване на разделите и интервали в началото на параграфа
Replace.SearchString = "^ (| \ т) *"
Replace.ReplaceString = ""
Doc.replaceAll (Замяна)

"Премахване на разделите и пространства в края на параграфа
Replace.SearchString = "(| \ т) * $"
Replace.ReplaceString = ""
Doc.replaceAll (Замяна)

"Замяна тирета с тирета в средата на текста
Replace.SearchString = "-"
Replace.ReplaceString = "-"
Doc.replaceAll (Замяна)

"Замяна тирета с тирета в началото на параграфа
Replace.SearchString = "^ -"
Replace.ReplaceString = "-"
Doc.replaceAll (Замяна)
End Sub

Запазване и затваряне на прозореца на BASIC. Вече не е необходимо. Сега ние трябва да се уверите, че макроса, озаглавена «Typograph» извиква с натискане на, например, Ctrl + Shift + D.

Отидете на Инструменти → Тинктура:

Задайте клавишната комбинация за макроса.

Може да видите прозорец за грешка:

Не се страхувайте. Само си представете, че сте инсталирали OpenOffice версия без JRE. Натиснете неколкократно «OK» и продължи. Всичко работи добре, без да JRE.

Сега упражнява! Подобряване на макроса. Нека го заменя с последователност на една или повече знака и разделите с едно място около текста. Изразът за последователността търсене на герои са интервали прилича (| \ т) +.