Hallo,
leider gibts wohl nicht den Celltyp für Datum-Werte in OO-Basic. Wenn ich aber Zellinhalte aus Calc in bspw. anderes Programm übernehmen will, kann ich nicht feststellen, ob der Inhalt der Zelle ein datum ist.
Datumswerte werden als Zahl übergeben, also als Long. Alle anderen Zahlen werden naturgemäß als Zahlenwerte übergeben.
Ich sehe aber momentan keine Möglichkeit, programmatisch zu erkennen, ob ein Datumswert vorliegt.
Oder weiß jemand nen Trick??
Gruß-
Dietrich
Calc- CellContentType für Datum??
Moderator: Moderatoren
Calc- CellContentType für Datum??
Dietrich
Re: Calc- CellContentType für Datum??
Hi Dietrich,
Wenn Du weist in welchen Format das Datum vorliegt kannst Du es wie folgt prüfen:
Mehr zu findest Du hier.
Jürgen
Wenn Du weist in welchen Format das Datum vorliegt kannst Du es wie folgt prüfen:
Code: Alles auswählen
Sub AufDatumPruefen
myDoc = thisComponent
mySheet = myDoc.sheets(0) 'erstes Tabellenblatt
mycell1 = mysheet.getCellByPosition(0,0)'Zelle A1
myvalue1 = mycell1.value
'oZell.NumberFormat = 30 'Format 13.05.06
'oZell.NumberFormat = 31 'Format Sa 13.Mai 06
'oZell.NumberFormat = 32 'Format 05.06
'oZell.NumberFormat = 33 'Format 13.Mai
'oZell.NumberFormat = 34 'Format Mai
'oZell.NumberFormat = 35 'Format 2. Quartal 06
'oZell.NumberFormat = 36 'Format 13.05.2006
'oZell.NumberFormat = 38 'Format Samstag, 13. Mai 2006
'oZell.NumberFormat = 39 'Format 13. Mai 06
If myCell1.type = 2 then 'Prüft auf String
msgbox "Kein Datum vorhanden"
'Prüfen der Zelle auf Datumformat 1.02.2008
elseif myCell1.NumberFormat = 36 then
msgbox "Die Zelle enthält ein Datum"
end if
End Sub
Code: Alles auswählen
myCell1.type = 2 then 'Prüft auf String
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Calc- CellContentType für Datum??
Danke turtle47!
Das ists.
Nur noch eine Frage:
Ich habe selbst natürlich intensiv gesucht nach Lösung. Allerdings bin ich OO Neuling und es ist bisschen mühsam als Autodidakt
Wo kann man gerade solche Eigenschaftswerte nachlesen? Hast du evtl. nen Link parat...
Gruß aus Salzburg
Dietrich
Das ists.
Nur noch eine Frage:
Ich habe selbst natürlich intensiv gesucht nach Lösung. Allerdings bin ich OO Neuling und es ist bisschen mühsam als Autodidakt

Wo kann man gerade solche Eigenschaftswerte nachlesen? Hast du evtl. nen Link parat...
Gruß aus Salzburg
Dietrich
Dietrich
Re: Calc- CellContentType für Datum??
Hallo Dietrich,
. Ich lerne dabei auch immer noch dazu.
Nach lesen Deiner Frage habe ich mal in meiner Makro-Grabbelkiste nachgesehen und folgende Function gefunden:
Also habe ich mir gedacht, wenn man das Format über einen Zahlencode vorgeben kann, dann müsste man ja eigentlich
über den Zahlencode prüfen können ob ein Datum vorhanden ist.
Es hat jetzt nichts damit zu tun, aber wenn Du mehr über die Methoden und Eigenschaften von Objecten erfahren möchtest, kann ich Dir das Tool "Xray" für OO.o Basic nur wärmsten empfehlen. Gib einfach mal Xray in die Suchfunktion hier im Forum ein.
Ich wünsche Dir ein schönes Wochenende aus dem Rheinland.
Jürgen
*Ich weis, es heißt klug, aber es reimt sich so schlecht.
Gerne geschehendherr hat geschrieben:Danke turtle47!

Das glaube ich Dir.dherr hat geschrieben:Ich habe selbst natürlich intensiv gesucht nach Lösung.
Das geht mir genau so.dherr hat geschrieben:Allerdings bin ich OO Neuling und es ist bisschen mühsam als Autodidakt
Kann ich Dir leider auch nicht sagen. Aber: "Versuch macht kluch*"dherr hat geschrieben:Wo kann man gerade solche Eigenschaftswerte nachlesen? Hast du evtl. nen Link parat...
Nach lesen Deiner Frage habe ich mal in meiner Makro-Grabbelkiste nachgesehen und folgende Function gefunden:
Code: Alles auswählen
function Datum()
oZell = thisComponent.getcurrentSelection()
if not oZell.supportsService("com.sun.star.sheet.SheetCell") then
msgbox "Bitte nur eine Zelle auswählen", 48, "Fehler!"
exit function
end if
oZell.value = now()
'oZell.NumberFormat = 30 'Format 13.05.06
'oZell.NumberFormat = 31 'Format Sa 13.Mai 06
'oZell.NumberFormat = 32 'Format 05.06
'oZell.NumberFormat = 33 'Format 13.Mai
'oZell.NumberFormat = 34 'Format Mai
'oZell.NumberFormat = 35 'Format 2. Quartal 06
oZell.NumberFormat = 36 'Format 13.05.2006
'oZell.NumberFormat = 38 'Format Samstag, 13. Mai 2006
'oZell.NumberFormat = 39 'Format 13. Mai 06
end function
über den Zahlencode prüfen können ob ein Datum vorhanden ist.

Es hat jetzt nichts damit zu tun, aber wenn Du mehr über die Methoden und Eigenschaften von Objecten erfahren möchtest, kann ich Dir das Tool "Xray" für OO.o Basic nur wärmsten empfehlen. Gib einfach mal Xray in die Suchfunktion hier im Forum ein.
Schöne Stadt.dherr hat geschrieben:Gruß aus Salzburg
Ich wünsche Dir ein schönes Wochenende aus dem Rheinland.
Jürgen
*Ich weis, es heißt klug, aber es reimt sich so schlecht.
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Calc- CellContentType für Datum??
So etwas steht in der Doumentation.turtle47 hat geschrieben:Kann ich Dir leider auch nicht sagen. Aber: "Versuch macht kluch*"dherr hat geschrieben:Wo kann man gerade solche Eigenschaftswerte nachlesen? Hast du evtl. nen Link parat...
Genauer: SDK vom Projekt laden und installieren.
Lest ihr dann das Kapitel über Zahlenformate [Kap. 7.2.5] kommt ihr auf die Aufstellung der Konstanten com.sun.star.util.NumberFormat.
Wolltet ihr das auch wissen?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)