[SOLVED] Jak pobrać datę z Pola daty - jeszcze raz

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
Piotrek_K
Posty: 14
Rejestracja: wt gru 09, 2014 11:26 pm
Kontakt:

[SOLVED] Jak pobrać datę z Pola daty - jeszcze raz

Post autor: Piotrek_K »

Jako kompletny laik w makrach LibreOffice trafiłem na taki problem:
wstawiłem do arkusza pole daty i chcę aby po wybraniu daty z kalendarza przenosiła się ona do określonej komórki. Przeszukując forum natrafiłem na podobny problem jednak tam pole daty było częścią formularza dialogu, więc było adresowane jako komponent tego dialogu: https://forum.openoffice.org/pl/forum/v ... =27&t=2518
Ja, w moim arkuszu "Licznik", zdefiniowałem nie formularz ale pojedyncze pole daty, nazwane PoleDaty1, a jego zawartość ma się zapisać w komórce J4. Jak mam to pole daty zaadresować w kodzie i czy reszta kodu jest odpowiednia dla mojego przypadku?

Kod: Zaznacz cały

Sub WstawDate
   Dim Data As Variant
   oDocument = ThisComponent
   oSheet = oDocument.getSheets.getByName("Licznik")
   oCell = oSheet.getCellByName(J4)
   Data = ???
   D = Data.Date
   dd = DateSerial(D.year, D.month, D.day)
   oCell.setValue(dd)
End Sub
Ostatnio zmieniony śr gru 10, 2014 11:47 am przez Piotrek_K, łącznie zmieniany 1 raz.
LibreOffice 6.0.5.2 na Windows 7 Professional / LibreOffice 6.0.5.2 na Windows 10 Home
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Jak pobrać datę z Pola daty - jeszcze raz

Post autor: Jan_J »

O ile pamiętam, pojedyncze pole daty będzie niejawnie zawarte w formularzu. Trzeba się odwołać do formularzy na danej stronie (zapewne będzie jeden), w nim dobrać się do pola (też będzie jedno, a jego nazwę znasz), a dalej już pójdzie.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Piotrek_K
Posty: 14
Rejestracja: wt gru 09, 2014 11:26 pm
Kontakt:

Re: Jak pobrać datę z Pola daty - jeszcze raz

Post autor: Piotrek_K »

Jan_J pisze:Trzeba się odwołać do formularzy na danej stronie (zapewne będzie jeden), w nim dobrać się do pola (też będzie jedno, a jego nazwę znasz), a dalej już pójdzie.
Ratunku! Nie poszło. Jak pisałem, ja laik jestem, pierwsze nieśmiałe kroczki w programowaniu stawiam.
Próbowałem i tak:

Kod: Zaznacz cały

Data = form.getControl("PoleDaty1")
i tak:

Kod: Zaznacz cały

Data = form.getByName("PoleDaty1")
i zawsze wywala błąd:
Błąd uruchomieniowy języka BASIC.
Nie ustawiono zmiennej obiektu.
Co robię źle? Może jakiś kawałek kodu, please Obrazek
LibreOffice 6.0.5.2 na Windows 7 Professional / LibreOffice 6.0.5.2 na Windows 10 Home
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Jak pobrać datę z Pola daty - jeszcze raz

Post autor: belstar »

Może tak.
Załączniki
Pole_Daty_Makro.ods
(16.14 KiB) Pobrany 273 razy
LibreOffice 5.1.2.2 Ubuntu 16 LTS
Piotrek_K
Posty: 14
Rejestracja: wt gru 09, 2014 11:26 pm
Kontakt:

Re: Jak pobrać datę z Pola daty - jeszcze raz

Post autor: Piotrek_K »

Dziękuję! O to mi chodziło! Obrazek
LibreOffice 6.0.5.2 na Windows 7 Professional / LibreOffice 6.0.5.2 na Windows 10 Home
ODPOWIEDZ