Seite 1 von 1

Calc- CellContentType für Datum??

Verfasst: Fr, 01.02.2008 00:22
von dherr
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

Re: Calc- CellContentType für Datum??

Verfasst: Fr, 01.02.2008 02:11
von turtle47
Hi Dietrich,

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
Mehr zu

Code: Alles auswählen

myCell1.type = 2 then 'Prüft auf String
findest Du hier.

Jürgen

Re: Calc- CellContentType für Datum??

Verfasst: Fr, 01.02.2008 13:33
von dherr
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

Re: Calc- CellContentType für Datum??

Verfasst: Fr, 01.02.2008 21:52
von turtle47
Hallo Dietrich,
dherr hat geschrieben:Danke turtle47!
Gerne geschehen :lol:. Ich lerne dabei auch immer noch dazu.
dherr hat geschrieben:Ich habe selbst natürlich intensiv gesucht nach Lösung.
Das glaube ich Dir.
dherr hat geschrieben:Allerdings bin ich OO Neuling und es ist bisschen mühsam als Autodidakt ;-)
Das geht mir genau so.
dherr hat geschrieben:Wo kann man gerade solche Eigenschaftswerte nachlesen? Hast du evtl. nen Link parat...
Kann ich Dir leider auch nicht sagen. Aber: "Versuch macht kluch*"

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
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. 8)

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.
dherr hat geschrieben:Gruß aus Salzburg
Schöne Stadt.

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.

Re: Calc- CellContentType für Datum??

Verfasst: Fr, 01.02.2008 23:48
von komma4
turtle47 hat geschrieben:
dherr hat geschrieben:Wo kann man gerade solche Eigenschaftswerte nachlesen? Hast du evtl. nen Link parat...
Kann ich Dir leider auch nicht sagen. Aber: "Versuch macht kluch*"
So etwas steht in der Doumentation.
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?