Seite 1 von 1

Datum aus Datumsfeld in Zelle schreiben

Verfasst: Mi 9. Apr 2014, 15:37
von Frank2203
Hallo,

ich habe im Calc ein Datumsfeld erstellt und möchte jetzt das dort angezeigte Datum in die Zelle B2 schreiben. Nur leider finde ich kein passendes Makro, bzw. irgend eine Funktion die das ermöglicht. Ich muss auch gestehen das ich bei Calc ein Neuling bin und benötige etwas Hilfe.

Ich hoffe mir kann jemand helfen.

Vielen Dank

Gruß Frank

Re: Datum aus Datumsfeld in Zelle schreiben

Verfasst: Mi 9. Apr 2014, 17:20
von mikele
Hallo,

einfacher ist es, anstelle eines Datumsfeldes ein formatiertes Feld zu nuzten. Das Feld formatierst du mit dem gewünschten Datumsformat und verbindest es im Tab Daten mit der Zelle B2.

Re: Datum aus Datumsfeld in Zelle schreiben

Verfasst: Do 10. Apr 2014, 07:15
von Frank2203
Hallo,

das Problem ist das ich den Kalender benötige, um die Möglichkeit zu haben andere Datumsangaben dort einzutragen. Eine formatierte Zelle nützt mir nichts, weil ich da keine Auswahl mehrerer Tage angeben kann sondern wenn dann nur ein Datum ( zum Beispiel das für Heute).

Wäre klasse wenn mir da einer ein Makro zur Verfügung stellt oder mir eine Formatierung der Zelle erklärt.

Vielen Dank

Re: Datum aus Datumsfeld in Zelle schreiben

Verfasst: Fr 11. Apr 2014, 22:25
von mikele
Hallo,

ich musste ein bisschen knobeln - erfolgreich. (und dann ist es so einfach :o )
Mit folgendem Makro sollte es klappen:

Code: Alles auswählen

Sub Main (Event as objec)
	datum=Event.Source.Model.Text
	if isdate(datum) then thiscomponent.currentcontroller.activesheet.getcellbyposition(1,1).value=cdate(datum)
End Sub
Wie man allerdings im Allgemeinen auf ein Steuerelement auf einem Tabellenblatt zugreift habe ich (noch) nicht herausbekommen. Aber da gibt's bestimmt auch Rat ...

Re: Datum aus Datumsfeld in Zelle schreiben

Verfasst: Mo 14. Apr 2014, 08:46
von Frank2203
Vielen Dank das hat mir schon sehr viel weiter geholfen und es funktioniert so wie ich das gern hätte. Klasse!!!

Danke

Re: Datum aus Datumsfeld in Zelle schreiben

Verfasst: Mo 14. Apr 2014, 20:04
von F3K Total
mikele hat geschrieben:Wie man allerdings im Allgemeinen auf ein Steuerelement auf einem Tabellenblatt zugreift habe ich (noch) nicht herausbekommen. Aber da gibt's bestimmt auch Rat ...
Aber sicher, z.B. so:

Code: Alles auswählen

    osheet = thiscomponent.sheets.getbyname("Tabelle1")
    odrawpage = oSheet.Drawpage
    oforms = odrawpage.forms
    oform = oForms.getbyname("Formular")
    oDatumsfeld1 = oform.getbyname("Datumsfeld 1")
oder kurz

Code: Alles auswählen

oDatumsfeld1 = thiscomponent.sheets.Tabelle1.drawpage.forms.Formular.getbyname("Datumsfeld 1")
Habe gerade versucht eine function daraus zu bauen, geht auch, aktualisiert sich leider nicht, wenn im Kontrollelement eine Änderung vorgenommen wird, daher ist deine EVENT-Methode schon gut.
Gruß R

Re: Datum aus Datumsfeld in Zelle schreiben

Verfasst: Mo 14. Apr 2014, 20:44
von mikele
Hallo F3K Total,

danke!
Folgendes hatte ich auch schon herausbekommen (bessser herausgegoogelt):

Code: Alles auswählen

	oDoc=thiscomponent
	oPage=oDoc.sheets(0).drawpage
	oForm=oPage.forms.getbyindex(0)
	oControl=oForm.getbyname("Datumsfeld 1")
Mein Problem war, dass sich die Kontrollelemente ja auf ein Formular oder einen Dialog beziehen. Nun muss man also wissen (woher?), dass sich in dieser Konstellation das Kontrollelement im Formular "Formular" bzw. Nr. 1 (index(0)) befindet.
Ich bin immer noch dabei, die API Dokumentation so zu verstehen, dass ich sie lesen kann oder umgekehrt ...
Abgesehen davon würde mich eine Erklärung für

Code: Alles auswählen

.Source.Model.Text
interessieren (gehört aber eher in ein anderes Forum). Ich finde ja toll, dass es funktioniert, aber ich wüsste auch warum ...

Re: Datum aus Datumsfeld in Zelle schreiben

Verfasst: Mo 14. Apr 2014, 20:57
von F3K Total
Hi,
mikele hat geschrieben: Nun muss man also wissen (woher?)
Na da nimmt man sich im Formularentwurfsmodus den Formularnavigator und versteht den Aufbau sofort:
NG.png
NG.png (37.28 KiB) 5429 mal betrachtet
HTH R

Re: Datum aus Datumsfeld in Zelle schreiben

Verfasst: Mo 14. Apr 2014, 21:01
von mikele
Hallo,

cool - so einfach :shock: :D

Re: Datum aus Datumsfeld in Zelle schreiben

Verfasst: Mo 14. Apr 2014, 21:42
von F3K Total
Noch ein Tipp:

Writer(auch eingebettete Formulare in BASE):

Code: Alles auswählen

Thiscomponent.drawpage.forms ...
Calc:

Code: Alles auswählen

Thiscomponent.sheets.Mysheet.drawpage.forms ...
Impress/Draw:

Code: Alles auswählen

Thiscomponent.drawpages.mydrawpage.forms ...
Gruß R