Jedzdzer pisze:Poradziłem sobie w inny sposób, za pomocą formuły którą gdzieś znalazłem, może się komuś przyda :
Wpisujemy w komórkę C1 :
Kod: Zaznacz cały
=JEŻELI(A1="";"";JEŻELI(B1="";TERAZ();C1))
no i komórkę A1 trzeba sformatować jako datę, albo jak wolimy czas. Wtedy jeżeli coś wpiszemy w komórkę A1 w komórce C1 pojawi się aktualna data, bądź godzina
Niedobrze.
1. W oryginale wstawiasz do komórki stałą równą bieżącemu stanowi zegara. W rozwiązaniu awaryjnym radzisz sobie za pomocą formuły, która w dowolnej chwili (np. podczas przeliczenia arkusza, jego załadowania, a nawet modyfikacji którejkolwiek komórki) może zostać zaktualizowana.
2. Działasz w komórce C1. Co się stanie, jeżeli warunki dot. A1 ani B1 nie będą spełnione? Moim zdaniem błąd 522: cykliczna referencja.
Chyba że masz włączone iteracje (Narzędzia→Opcje→Calc→Oblicz), ale to znaczy że integralność arkusza będzie zależeć od stanu konfiguracji środowiska, którą w każdym momencie da się zmienić. To jest dobra metoda do badania wariantów scenariuszy, ale niekoniecznie do tworzenia bazy danych.
Przetłumaczenie makra jest dość proste, choć wymaga podpięcia do obiektu typu Listener. Kilka wskazówek znajdziesz w
http://www.oooforum.org/forum/viewtopic.phtml?t=12781.
Datę/czas z zegara wstawisz do komórki prawie tak jak w Excelu. Konkretnie
Kod: Zaznacz cały
a = thisComponent.currentController.getActiveSheet()
a.getCellByPosition(0,0).Value = Date ' tylko data
a.getCellByPosition(0,1).String = Format(Date+Time, "yyyy.MM.dd hh:mm:ss") ' data i godzina