Autor podstrony: Krzysztof Zajączkowski

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

Postanowiłem jakiś czas temu stworzyć sobie mały zbiór funkcji i makr umożliwiający szybkie i bezbolesne wprowadzanie danych do arkusza kalkulacyjnego programu, uwaga, uwaga tym razem LibreOffice Calc Celem tego jest uproszczenie zbierania danych fizycznych na temat moich przejażdżek rowerowych. Stworzyłem więc okno dialogowe, w którym są wprowadzane następujące informacje:

  • Opis trasy
  • Prędkość maksymalna Vmax [km/h]
  • Odległość s [km]
  • Czas t [hh:mm:ss]

Dostępne jest również pole prędkość średnia, ta wartość jest obliczana automatycznie na podstawie podanej odległości i czasu przejazdu.

Dodanie rekordu sprawia, że w tabelce arkusza kalkulacyjnego pojawią się automatycznie sformatowane wielkości fizyczne, a wśród nich (oprócz wyżej już wymienionych):

  • Prędkość średnia całkowita Vśr c [km/h]
  • Odległość całkowita Sc [km]
  • Czas całkowity tc [h:s:m]
Screen okna dialogowego programu.
Rys. 1
Screen okna dialogowego programu.

Jak utworzyć własne okno dialogowe? Toż to prostsze niż odebranie dzieciakowi lizaka (nie żebym kiedykolwiek próbował). Należy wybrać w menu Narzędzia->Makra->Zarządzanie oknami dialogowymi pojawi się okno dialogowe LibreOffice - Menadżer makr Basic gdzie po prawej stronie znajduje się przycisk Nowy, po kliknięciu którego można wpisać nazwę nowego okna dialogowego a następnie zatwierdzić utworzenie nowego okna dialogowego za pomocą przycisku OK. Dodawanie formantów jest dość intuicyjne, przypisywanie do nich makr było omówione we wcześniejszym punkcie tego działu, pokażę jedynie przykładowe makro uruchamiające okno dialogowe

Dim dlgRower as object Dim eDescription as object Dim nSpeed as object Dim eTime as object Dim nSpeedMax as object Dim nDistance as object Dim document as object Dim dispatcher as object Sub Dialog1Show document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") DialogLibraries.LoadLibrary( "Standard" ) dlgRower = CreateUnoDialog( DialogLibraries.Standard.Rower) dlgRower.Execute() End Sub

Załączniki:

Plik z oknem dialogowym
Layout wykonany przez autora strony, wszelkie prawa zastrzeżone. Jakiekolwiek użycie części lub całości grafik znajdujących się na tej stronie bez pisemnej zgody jej autora surowo zabronione.