Ereignis zu Datumsfeld wird nicht ausgelöst

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

kgs-ks
*
Beiträge: 13
Registriert: Di, 21.11.2006 13:57
Wohnort: Kassel

Ereignis zu Datumsfeld wird nicht ausgelöst

Beitrag von kgs-ks »

Hallo,

zu einem Kalender-Steuerelement möchte ich per Makro nach dem Ändern den Wert in eine Zelle übertragen:

ich kann auch die Zuweisung des Makros machen sowohl bei "Nach Aktualisierung" alsauch bei "Text modifiziert" passiert einfach nichts (das Dammy-Makro was mir einfach mal ein "jetzt()" reinschreibt funktioniert)

wie greife ich auf den aktuellen Wert des Controls zu (nicht in einem Dialog sondern direkt im Calc-Tabellenblatt)
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey kgs-ks

wenn du ein Steuerelement direkt in eine Calc-Tabelle plazierst, so erzeugst du damit automatisch ein Formular. Und genauso graifst du auf das Steuerelement zu. Das Beispiel zeigt das erste formular im ersten Tabellenblatt, das Formularfeld heisst "DFeld" und es schreibt das Ergebnis in die Zelle A1 des gleichen Blattes. Die Zelle A1 musst du natürlich als Datum formatieren ;-)

Code: Alles auswählen

Sub Datum_eintragen
	oDoc = thisComponent
	oform = oDoc.sheets(0).drawpage.forms(0)
	oCtl = oform.getbyName("DFeld")
	oDoc.sheets(0).getCellRangeByName("A1").value = cDateFromIso(oCtl.date)
End Sub
Wichtig: Das Datumsfeld im Control speichert und liefert das Datum in der ISO Schreibweise, das musst du zuerst umwandeln.
Wenn du dieses Makro dem Ereignis "Text modifiziert" zuweist, hast du, was du brauchst :-)

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
kgs-ks
*
Beiträge: 13
Registriert: Di, 21.11.2006 13:57
Wohnort: Kassel

Danke

Beitrag von kgs-ks »

herzlichen Dank für den Tipp
Antworten