sobota, 13 lipca 2013

Własne funkcje w Open Office Calc

W arkuszu kalkulacyjnym OpenOffice Calc używa się często funkcji typu SUMA().

Okazuje się, że można w prosty sposób napisać sobie własne funkcje, jeśli uważamy, że wykonanie pewnych obliczeń za pomocą standardowych funkcji będzie zbyt skomplikowane.

Aby to zrobić, musimy wpierw utworzyć makro. Wybieramy z głównego menu Narzędzia->Makra->Zarządzaj Makrami->Makro...

Pojawi nam się okienko, w którym wybieramy, gdzie chcemy utworzyć dane makro (Najlepiej w Moje Makra->Standard lub w jakimś otwartym dokumencie). Wciskamy Nowy i wpisujemy nazwę (jeśli już mamy utworzony jakieś makro, możemy je edytować).

Otworzy nam się nowe okno, w którym możemy wpisać kod naszej własnej funkcji.

Oto przykładowy kod:

Function Szescian( x )
    Szescian = x * x * x
End Function

I to wsio!

No prawie - aby pisać bardziej sensowne funkcje, trzeba się trochę znać na BASIC'u (składnia, wbudowane funkcje itp).

Oto parę rzeczy, o których na początek można pamiętać (z punktu widzenia kogoś, kto często używał C i języków pokrewnych):

  • Wielkość liter w Basicu (raczej) nie ma znaczenia.
  • Komentarze - od znaku ' lub słowa rem do końca linii (tylko jednej).
  • Wyrażenia można kontynuować do następnej linii dzięki znakowi podkreślenia _ na końcu linii.
  • Zmienne deklaruje się (chociaż nie trzeba) słowem Dim (zmienna) [as typ_zmiennej], przy czym typu zmiennej nie trzeba podawać.
  • Nie zakańcza się linii średnikiem.
  • Znak równości = jest jednocześnie przypisaniem i porównaniem. Nierówność sprawdza się operatorem <>.
  • Tablice deklaruje się podając po nazwie zmiennej w nawiasach okrągłych () jej wielkość lub zakres indeksów (LBound To UBound) (LBound i UBound to nazwy funkcji zwracających minimalny i maksymalny indeks tablicy - przydaje się do sprawdzania wielkości). Tablicę można zainicjować w całości za pomocą funkcji(?) Array(lista wartości).
  • Warunki sprawdza się za pomocą If warunek Then akcja [Else akcja] End If. Pętle (jak np. For zmienna = odkąd To dokąd [Step krok] akcja Next zmienna), podobnie jak warunki, nie wymagają nawiasów ani rozgraniczania bloków instrukcji.
  • Wartości zwraca się przypisując je do nazwy funkcji. Z funkcji można w każdej chwili wyjść za pomocą wyrażenia Exit Function lub Exit Sub (wyrażenie End kończy działanie całego programu).
Uwaga!

Jeśli umieścimy swoje makro w danym dokumencie, OpenOffice może zablokować nasze makra z powodu bezpieczeństwa. Najlepiej ustawić wtedy od razu poziom bezpieczeństwa makr na średni lub niższy, inaczej po powtórnym otworzeniu dokumentu nasze funkcje nie będą działać (zmiana poziomu bezpieczeństwa makr zachodzi dopiero ponownym otworzeniu dokumentu / uruchomieniu programu).

* * *

Przydatne linki

Brak komentarzy:

Prześlij komentarz