Automatyzacja za darmo

OpenOffice.org jest potężnym narzędziem, ale jego zaawansowane możliwości są stosunkowo mało znane. Powodów jest wiele: główny to wciąż skromna dokumentacja (choć sytuacja znacznie się poprawiła w ciągu ostatnich kilku miesięcy). Od czasów StarOffice 5.x wiele się zmieniło w tym otwartym pakiecie biurowym – zmiany te dotyczą nie tylko interfejsu i elementów, z którymi użytkownik ma bezpośredni kontakt, ale i wewnętrznych mechanizmów działania. Dlatego stare skrypty, np. ze StarOffice 5.1, nie zawsze działają w OpenOffice.org, co wcale nie ułatwia migracji do nowej wersji pakietu.

Jednym z najbardziej interesujących i najmniej docenianych mechanizmów w pakietach biurowych są makra. Makra pozwalają zarówno zautomatyzować często powtarzane czynności, jak i wykorzystać OpenOffice.org jako interpreter czy wręcz “kombajn” do wszystkiego. Stosunkowo dobra jakość fitrów eksportu OpenOffice.org umożliwia użycie pakietu nawet do generowania w arkuszu raportów z danych tekstowych i np. wysyłania ich mailem do odpowiednich osób. Jest to dobre i tanie rozwiązanie, które można docenić po doświadczeniach z debugowaniem aplikacji komunikujących się z komponentami MS Office.

W niniejszym artykule zajmę się makrami w OpenOffice.org, próbując pokazać, jak je wykorzystać w praktyce. Ponieważ temat jest obszerny, a dostępna dokumentacja pozostawia wiele do życzenia, zaprezentowane wiadomości mogą okazać się przydatne.

Jednym z głównych elementów utrudniających zapoznanie się z funkcjonowaniem makr jest brak funkcji nagrywania, znanej z innych pakietów biurowych (jak choćby StarOffice 5.1/5.2). Aby więc zacząć korzystać z makr, niezbędne jest zrozumienie zasad funkcjonowania języka OpenOffice.org BASIC, który jest stosunkowo prosty i przypomina nieco Visual Basic.

Próba generalna

Najlepszą metodą prezentacji danego języka jest demonstracja prostego przykładu. Wcześniej jednak Czytelnikowi należy się kilka słów wyjaśnienia na temat IDE OpenOffice.org Basic. Przechodzimy do niego, wybierając z menu

Tools | Macro

(wpisujemy nazwę makra), a następnie

New

(lub Edit, jeśli makro już istnieje). Główne okno służy do edycji tekstu makr, menu powyżej zaś – do kompilacji, uruchamiania i odpluskwiania makr.

Czas na przykład: po uruchomieniu IDE w głównym oknie edycyjnym pojawi się kursor umieszczony między Sub NaszeMakro a

End Sub

, przy czym NaszeMakro może być dowolną nazwą makra, którą podaliśmy w oknie zarządzania makrami (

Tools | Macro

). Jesteśmy gotowi do wpisywania kodu, wygenerujmy więc tradycyjne powitanie:

Sub NaszeMakro
  print ("Mamusiu, jak tu pięknie")
End Sub

Po naciśnięciu przycisku Run na ekranie powinno się ukazać okno dialogowe z dwoma przyciskami i podanym przez nas napisem. Możemy nacisnąć którykolwiek – w rezultacie wyjdziemy z “aplikacji”. Skrypty pozwalają też prowadzić dialog z użytkownikiem:

Sub NaszeMakro
  odpowiedz = inputbox("Ile masz lat?", "Pytanie","")
  print (odpowiedz)
End Sub

Prawda, że to łatwe? OpenOffice.org nie jest jednak prymitywnym programem do wyświetlania prostych wiadomości. Możemy posunąć się w naszych próbach nieco dalej i stworzyć własne okna dialogowe, co okazuje się czasem niezbędne przy tworzeniu interaktywnych makr (kto lubi przedzierać się przez dziesiątki okien z przyciskami OK i

Anuluj

?). Nie jest to wcale trudne, a po nabraniu wprawy utworzenie nowych, nawet złożonych okien dialogowych stanie się kwestią kilku minut.

Więcej:bezcatnews