OpenOffice - własne funkcje

Stronę tą wyświetlono już: 1043 razy

Droga Czytelniczko, drogi Czytelniku, skoro przeglądacie tę stronę zapewne poszukujecie w czeluściach wszystko wiedzącego internetu tej jednej, wymarzonej i rzetelnej skądinąd informacji o tym, jak samemu tworzyć swoje własne funkcje dostępne w programie Calc będącym częścią pakietu OpenOffice tudzież LibreOffice (na jedno wychodzi). Przejdźmy zatem do konkretów: funkcje własne można tworzyć globalnie (co oznacza, że będą one dostępne we wszystkich Twoich projektach na Twoim komputerze) lub lokalnie (co z kolei oznacza, że będą one dostępne tylko w tym jednym dokumencie ale na każdym komputerze pod warunkiem, że makra nie zostały zablokowane).

Jak zapewne zauważyliście, globalne funkcje i makra mają swoje wady, które zarazem są zaletami. Podam przykład:

Załóżmy, że ktoś z Was prowadzi swoją własną firmę i w tej firmie tworzy dokumentację zawierającą pewne obliczenia. Jeżeli do obliczeń użyjecie własnych funkcji dostępnych globalnie a ktoś, jakaś menda za przeproszeniem zechce Wam te dane ukraść, to na jego komputerze nie wyświetlą się te obliczenia, które są powiązane bezpośrednio tudzież pośrednio z tymi funkcjami.

A teraz załóżmy, że formatujecie dysk twardy albo przeinstalowujecie system. Przykra sprawa, ale jeżeli nie zapisaliście sobie gdzieś kopii wszystkich waszych funkcji i makr globalnych, to wszystko od nowa trzeba napisać, żeby dokumenty z obliczeniami można było otworzyć.

Dobra, przejdę do rzeczy, najpierw pokażę jak stworzyć swoją pierwszą globalną funkcję i jak z niej korzystać w programie Calc.

1) Otwieram program OpenOffice Calc a następnie klikamy w menu Narzędzia->Makra->Zarządzaj makrami->Makro... by po chwili oczom mym ukazało się okno OpenOffice.org - Makra Basic (w OpenLibre pewnie będzie nieco inaczej tytuł wyglądał).

2) Na liście po lewej stronie okna dialogowego jest rozwijana lista, należy rozwinąć pozycję Moje Makra->Standard a następnie kliknąć Module1 (jeżeli nie ma tam żadnego modułu to należy utworzyć takowy klikając po prawej stronie przycisk o nazwie Nowy).

3) Po prawej stronie po zaznaczeniu modułu powinien pojawić się przycisk Edytuj, który oczywiście kliknąć bezzwłocznie należy by otworzyć okno Moje okna dialogowe i makra.Standard - OpenOffice Basic.

W części edycyjnej okna pisze się makra i funkcje, ale o tym nieco później, albowiem teraz czas na lekcję podstaw OO Basic-a.

Składnia funkcji

Listing 1
  1. Function NazwaFunkcji(zmienna1 as [TypZmiennej], zmienna2 as [TypZmiennej], ...) as [TypZwracanejWartości]
  2. blok instrukcji
  3. Exit Function ' gdy chcesz przerwać działanie funkcji w danym miejscu (np. gdy w wyniku '
  4. 'przewidzianej sytuacji funkcja nie może być wykonana w całości'
  5. NazwaFunkcji = wartość ' w ten sposób funkcja zwraca wartość'
  6. End Function

No i to wszystko, ci co wiedzą co nieco o programowaniu dadzą sobie radę. Pierwsza funkcja, jaką napiszę ja, a którą być może i Wy zechcecie napisać będzie funkcja losująca wartość z pewnego przedziału liczbowego, a funkcja ta będzie wyglądała następująco:

Listing 2
  1. Function losowanie(min as double, max as double) as double
  2. losowanie = rnd * (max - min) + min
  3. End Function

Pewnie myślicie, żem źle napisał, bo np. function powinno być z dużej litery, ale zawiodę Was, albowiem OO Basic tak jak VBA jest ślepe na duże i małe literki, innymi słowy wsio a rawno. Teraz zapisujemy nasz program (Ctrl+S) wraz z dokumentem a następnie sprawdzamy, czy to działa wpisując w dowolnej komórce arkusza kalkulacyjnego Calc następujące wyrażenie:

Listing 3
  1. =losowanie(0;1000)

i enter coby zatwierdzić, dzięki czemu program wylosuje liczbę typu double z zakresu od 0 do 1000. I to syćko, pierwsza funkcja napisana.

Zaraz, zaraz, chwileczkę!!! Przecież miałem jeszcze napisać, jak zrobić lokalną funkcję, cóż stworzenie lokalnej funkcji nie różni się zbytnio od tworzenia funkcji globalnej, jedyna różnica polega na tym, że w oknie dialogowym OpenOffice.org - Makra Basic należy rozwinąć pozycję Tytuł dokumentu->Standard a następnie kliknąć przycisk Nowy znajdujący się po prawej stronie okna, dzięki czemu pojawi się okienko, w którym podać należy nazwę tworzonego modułu. Cała reszta przebiega w ten sam sposób jak dla funkcji globalnej.

Komentarze