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)
Ereignis zu Datumsfeld wird nicht ausgelöst
Moderator: Moderatoren
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
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
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
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
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic