Uwaga: przeglądasz tę stronę na urządzeniu o niewielkim ekranie (szerokość < 640px). Niektóre zamieszczone w artykule ilustracje i animacje mogą stać się nieczytelne po dopasowaniu ich do rozdzielczości tego ekranu.
Yestok.pl
Jerzy Moruś
© Wszystkie prawa zastrzeżone. Wykorzystanie całości serwisu lub jego fragmentów bez pisemnej zgody autora zabronione.
Rozszerzanie możliwości pakietu (x)Office.
Opracowanie powstało w oparciu o wersję programu istniejącą w trakcie jego pisania, Libre Office: 4.0.5, Apache OpenOffice: 3.4.1.
Od początku pakiet OpenOffice.org, obecnie Apache OpenOffice, i wyłoniony z tego projekt LibreOffice, ma możliwość rozbudowywania funkcjonalności poprzez oprogramowanie tworzone przez szerokie grono niezależnych programistów. Przygotowane oprogramowanie dostarczane jest w postaci plików z rozszerzeniem OXT i udostępniane użytkownikowi pakietu poprzez menedżera rozszerzeń, przywoływanego z menu „Narzędzia – Menedżer rozszerzeń...”. Rozszerzenia mogą być instalowane dwojako. Użytkownik o uprawnieniach administratora (root) może zainstalować rozszerzenie dla wszystkich użytkowników komputera lub tylko dla siebie. Pozostali mogą instalować rozszerzenia tylko dla siebie.
- Menedżer rozszerzeń.
- Rozszerzenie do Calc. NUMBERTEXT() i MONEYTEXT().)
- Rozszerzenie do Writer. GeoMap.
- Rozszerzenie do Writer. Language Tool.
- Rozszerzenie do Writer. Translationtable.
Menedżer rozszerzeń dostępny jest w każdym module wchodzącym w skład oprogramowania (x)Office i może zarządzać dowolnymi rozszerzeniami. Oznacza to, że będąc np. we Writerze można dodać lub usunąć rozszerzenie przeznaczone np. dla programu Calc.
Dostępne rozszerzenia znajdują się w repozytoriach, na stronach internetowych zależnych od używanego pakietu: https://extensions.libreoffice.org – dla LibreOffice i https://extensions.openoffice.org/ – dla Apache OpenOffice. Wiele z udostępnianych rozszerzeń działa w obu pakietach biurowych.
Aby dodać rozszerzenie do swojego oprogramowania należy pobrać odpowiedni plik OXT i – postępując klasycznie – wywołać wspomniane już polecenie „Narzędzia – Menedżer rozszerzeń...”. W otwartym oknie, podobnym do tego na poniższej ilustracji, wybrać przycisk „Dodaj...”, a następnie, w kolejnym oknie, wskazać plik zawierający rozszerzenie.

Okno, jak widać, zawiera także przycisk „Sprawdź aktualizacje...”, pozwalający zweryfikować zainstalowane rozszerzenia pod kątem ich nowszych wersji. Rozszerzenia oznaczone znacznikiem „kłódki” nie mogą zostać usunięte, ale ich wskazanie w oknie może pozwolić na ustawienie dodatkowych opcji. Widoczne na ilustracji pierwsze rozszerzenie, „Angielskie słowniki...”, po kliknięciu udostępnia przycisk „Opcje...” jak na rysunku poniżej.

Pozwala on dokładniej ustalić dodatkowe parametry tego rozszerzenia w kolejnym wyświetlonym oknie dialogowym.

Inne rozszerzenia, instalowane przez użytkownika, pozwalają na ich wyłączenie, gdy nie trzeba z nich korzystać lub usunięcie, gdy nie są już potrzebne.

Uaktywnione rozszerzenie wyświetla zazwyczaj w obszarze opisu skróconą informację o sobie.
Okno menedżera zawiera jeszcze trzy dodatkowe opcje, określające typ rozszerzeń, które chcemy zobaczyć na liście. Znajduje się tu także link do repozytorium rozszerzeń właściwych dla zainstalowanego oprogramowania.
W tym opracowaniu chcę przedstawić i zaproponować cztery rozszerzenia, które wydają mi się interesujące.
Rozszerzenie do programu Calc.
Zamiana wartości liczbowej na jej słowną prezentację.
Numbertext 0.9.5
Nowa wersja tego rozszerzenia to 1.0.5
O zamianie liczby na jej wartość słowną pisałem w odrębnym opracowaniu ( Zamiana wartości liczbowej na wartość słownie w Calcu). Przedstawiłem wówczas metodę, zgodnie z która należało włączyć do swojego arkusza dodatkowy arkusz, zawierający algorytm przekształcania takiej wartości.
Zainstalowanie rozszerzenia doda do programu Calc dwie nowe funkcje, które można będzie wykorzystać w arkuszu. Różnica w działaniu obu metod polega na tym, że arkusz kalkulacyjny skonstruowany zgodnie z pierwszą metodą, może zostać skopiowany, przeniesiony na inny komputer i w nowym miejscu nadal wartości będą zamieniane na ich słowny odpowiednik. Druga metoda, a więc wykorzystująca rozszerzenie, utraci właściwości przekształcania po przegraniu do nowego komputera, chyba że ten nowy komputer będzie miał także zainstalowane to rozszerzenie.
Rozszerzenie, o jakim tu piszę, znajduje się w repozytorium LibreOffice w pliku numbertext.oxt.
Nowe zainstalowane funkcje to: NUMBERTEXT(wartość;język) oraz MONEYTEXT(wartość;waluta;język). Funkcje zostaną dodane do kategorii „Dodatek” jak na ilustracji. Kreator funkcji wykrywa język macierzysty pakietu i udostępnia stosowny interfejs. Dostępne są interfejsy w języku angielskim, niemieckim, węgierskim (to język autora tego rozszerzenia), włoskim i serbskim (w wersji łacińskiej i cyrylickiej). Jeżeli lokalizacja oprogramowania jest inna niż wymienione powyżej, wyświetlany jest interfejs angielski.

W obu funkcjach obowiązkowy jest tylko pierwszy parametr. Brak parametru „język” oznacza przyjęcie języka, w którym funkcjonuje pakiet oprogramowania. Jeśli argument ten jest podawany jako literał, to musi być ujęty w cudzysłów. Argument ten w zasadzie jest zapisem dwuczłonowym, jednak większości przypadków wystarczy podać tylko pierwszy człon tego argumentu. Niekiedy jednak należy dokładniej sprecyzować język, np. język portugalski obowiązuje także w Brazylii a francuski w Belgii i Szwajcarii, wówczas trzeba podać pełną wartość argumentu. Oto dopuszczalne wartości tego parametru:
| Wartość | Język | Wartość | Język |
| af-ZA | africaans | ca-ES | kataloński |
| cs-CZ | czeski | da-DK | duński |
| de-DE | niemiecki | el-EL | grecki |
| en-IN | angielski w indyjskim i południowoazjatyckim systemie numerowania (lakh = 100.000, crore = 10.000.000) | en-US | angielski (USD 20.25 -> twenty dollars and twenty-five cents) |
| en-US-2 | angielski (odmiana USD 20.25 -> twenty and 25/100 dollars) | eo | Esperanto |
| es-ES | hiszpański | fi-FI | fiński |
| fr-BE | francuski, Belgia | fr-CH | francuski, Szwajcaria |
| fr-FR | francuski | he-IL | hebrajski |
| hu-HU | węgierski | hu-HU_2 | węgierski (formalny) |
| id-ID | indonezyjski | it-IT | włoski |
| ja-JP | japoński | ja-JP-2 | japoński (formalny) |
| ko-KP | koreański, Korea Północna | ko-KR | koreański, Korea Południowa |
| lb-LU | luksemburgski | lt-LT | litewski |
| lv-LV | łotewski | nl-NL | holenderski |
| pl-PL | polski | pt-BR | portugalski, Brazylia |
| pt-PT | portugalski | ro-RO | rumuński |
| ru-RU | rosyjski | sh-RS | serbski, łaciński |
| sl-SI | słoweński | sr-RS | serbski, cyrylica |
| sv-SV | szwedzki | th-TH | tajski |
| tr-TR | turecki | vi-VN | wietnamski |
| zh-ZH | chiński (uproszczony) | zh-ZH-2 | chiński (uproszczony, formalny) |
| Inne systemy numerowania: | |||
| Roman | Numeracja rzymska (wariant z nawiasami) | Roman_2 | Numeracja rzymska (z nadkreśleniami, pionowymi kreskami i opcjonalnie znakami specjalnymi) |
| Hung | stary zapis węgierski | Suzhou | chińska numeracja Suzhou |
Jeśli argumenty zostaną podane niewłaściwie, zastosowany zostanie język angielski. Wielkość liter ma znaczenie. W większości przypadków można ograniczyć się do członu pierwszego, a więc np.„pl” – język polski, „en” – angielski, „fr” – francuski czy „ru” – rosyjski.
W funkcji MONEYTEXT argument „waluta” może zostać pominięty, zostanie wówczas przyjęta waluta kraju wynikającego z argumentu „język”, jeśli jednak zostanie podany to musi to być podany jako trzyliterowy skrót waluty, taki jak stosowany jest w bankach lub kantorach wymiany walut. Symbol ten musi być wpisany wielkimi literami. Skrót „XXX” oznacza brak podawania waluty (dokładniej, każdy trzyliterowy skrót, napisany wielkimi literami a niedopuszczalny dla danego języka, spowoduje pominięcie waluty). Jeśli symbol waluty nie zostanie podany wielkimi literami, to wyświetlona zostanie wartość tekstowa, składająca się z tego symbolu i liczby odpowiadającej argumentowi „wartość”. Ewentualny znak dziesiętny zostanie zastąpiony kropką. Funkcja MONEYTEXT przed wyświetleniem wyniku zaokrągla wartość do jednostek monetarnych przywołanego systemu walutowego. Jeśli jako argumenty funkcji NUMBERTEXT i MONEYTEXT podano adresy komórek, to komórki odpowiadające za „język” i „walutę” nie mogą być puste. Dopuszczalne skróty waluty zależą od argumentu „język”.
| AUD | dolar australijski |
| BGN | lew bułgarski |
| CHF | frank szwajcarski |
| CAD | dolar kanadyjski |
| CNY | juan chiński |
| EUR | euro |
| GBP | funt brytyjski |
| HUF | forint węgierski |
| JPY | jen japoński |
| PLN | złoty polski |
| RUB | rubel rosyjski |
| USD | dolar amerykański |
| XXX | bez podania waluty |
| EUR | euro |
| GBP | funt brytyjski |
| RUB | rubel rosyjski |
| UAH | hrywna ukraińska |
| USD | dolar amerykański |
| CHF | frank szwajcarski |
| CNY | juan chiński |
| EUR | euro |
| GBP | funt brytyjski |
| JPY | jen japoński |
| USD | dolar amerykański |
| AOA | kwanza angolska |
| ARG | peso argentyńskie (ARS) |
| BOB | boliviano boliwijskie |
| BRL | real brazylijski |
| CHF | frank szwajcarski |
| CNY | juan chiński |
| CVE | escudo zielonoprzylądkowe |
| EUR | euro |
| GBP | funt brytyjski |
| JPY | jen japoński |
| MOP | pataca Makao |
| MXN | peso meksykańskie |
| MZM | metical mozambijski (MZN) |
| STD | dobra Wysp Świętego Tomasza i Książęcej |
| USD | dolar amerykański |
| XOF | frank CFA BCEAO |
Autor tego oprogramowania nie uniknął pomyłek. Zgodnie z normami, waluta Argentyny ma skrót ARS a Mozambiku MZN, nas jednak to nie dotyczy (chyba!). Dla dociekliwych, frank CFA BCEAO to wspólna waluta czternastu państw afrykańskich (nie będę ich tu jednak wymieniał).
Argument „waluta” może przyjąć jeszcze dwie wartości. Nie odpowiadają one żadnej walucie i zadziałają tylko przy niektórych językach (polskim - nie). Podawane są, w odróżnieniu od skrótów walut, małymi literami. Pierwszy „ord” przedstawia wartość jako liczebnik porządkowy i spełnia swą rolę tylko w językach: angielskim, niemieckim, francuskim i węgierskim. Drugi zapisywany w postaci „ord2” dotyczy tylko języka angielskiego i przedstawia liczebnik porządkowy zapisany cyframi z odpowiednim sufiksem, np. liczbę 65 jako 65th.
Podczas definiowaniu funkcji, należy pamiętać, aby argumenty „język” i „waluta”, wpisywane bezpośrednio do treści funkcji, obejmować cudzysłowem. Jak na ilustracji poniżej.
Na kolejnej ilustracji prezentuję wyniki obu funkcji dla kilku wybranych argumentów.

Ci, którzy chcieliby zainstalować u siebie to rozszerzenie mogą je pobrać klikając link poniżej. Zanim pobierzecie Państwo plik, pamiętacie, że za jego pobranie odpowiada kliknięcie odnośnika (łącza) prawym przyciskiem myszki i wybranie z wyświetlonego menu pozycji w rodzaju „Zapisz element docelowy jako...” lub „Zapisz link jako...”. Kliknięcie lewym przyciskiem może spowodować inne działania niż pobieranie, jeśli plik danego typu jest rozpoznawany przez przeglądarkę do bezpośredniego otwarcia. Pobierana wersja, oparta o wydanie 0.9.5 ma nazwę pliku numbertextpl-0.9.5.oxt, gdyż utworzyłem dodatkowo polski interfejs kreatora funkcji (widać to na ilustracjach). Poza tym niczym nie różni się od pliku pobieranego z repozytoriów. Obecnie link kieruje do repozytorium rozszerzeń i wersji 1.0.5, w której polski interfejs jest już wbudowany. Kliknij aby pobrać plik numbertext-1.0.5.oxt.
Rozszerzenie do programu Writer.
Dodawanie do dokumentu mapki z lokalizacją wybranego punktu.
GeoMap wersja 3.0.1.
Rozszerzenie zapisane w pliku o nazwie geomap.oxt pozwala dodać do dokumentu tworzonego we Writerze mapkę z lokalizacją wybranego punktu. Oprogramowanie to opiera się o funkcjonowanie serwisu internetowego mapquest.com, więc utworzenie mapki wymaga połączenia internetowego. Użytkownik może określić rozmiar obrazka, jego skalę i format wstawianej grafiki.
Rozszerzenie to dostępne jest w repozytorium LibreOffice, nie ma go natomiast w repozytorium Apache OpenOffice. Można wykorzystać plik z LibreOffice, choć wymaga to pewnej dodatkowej pracy, którą tu także opiszę.
Po zainstalowaniu rozszerzenia w pakiecie LibreOffice, w pasku narzędziowym, na pierwszej pozycji, pojawi się nowa ikona, ulokowana w oddzielnym zasobniku tego paska. Pokazuje ją poniższa ilustracja.

Instalacja tego rozszerzenia w pakiecie Apache OpenOffice (4.0.1) nie tworzy takiej ikonki. Aby móc korzystać w prosty sposób z tego rozszerzenia, należy utworzyć własne narzędzie wywołujące. O tym jak to zrobić mówi prezentacja zamieszczona poniżej.