Seite 1 von 1

probleme mit automatisch erstelltem datum

Verfasst: Fr, 04.09.2009 10:04
von ghost75
hallo, ich habe vor einiger zeit ein makro erstellt, das mir erlaubt, auf druck eines buttons das aktuelle datum in eine zelle eines calc dokuments einzufügen.

Code: Alles auswählen

Sub aktuelles_datum

ThisComponent.Sheets(0).getCellByPosition(6, 22).string = DATE

End Sub
nun wollte ich aneiner anderen stelle im dokument per "ARBEITSTAG" funktion einen bezug zu diesem datum stellen, was nicht funktionierte. wenn ich die datumszelle anklicke wird in der eingabezeile auch nicht das korrekte datumsformat angezeigt, sondern das datum angeführt von einem hochstrich, also so:
'24.04.2009
wie kann ich meinem makro nahebringen, diesen hochstrich wegzulassen? dann funktionierts nähmlich auch....

Re: probleme mit automatisch erstelltem datum

Verfasst: Fr, 04.09.2009 12:20
von ykcim
Hallo,

Du schreibst den Wert als String in die Zelle, daher auch das Hochkomma.
Um den Wert als Datum reinzuschreiben mußt Du ihn als Value reinschreiben und das Zellenformat auf Datum stellen.

Code: Alles auswählen

Sub aktuelles_datum

ThisComponent.Sheets(0).getCellByPosition(6, 22).value = DATE
ThisComponent.Sheets(0).getCellByPosition(6, 22).Numberformat=36

End Sub
36 ist der Code für "TT.MM.JJJJ" andere Codes muß man einstellen und auslesen.


mfg
Michael


Korregierte Fassung :-) Statt string -> value

Re: probleme mit automatisch erstelltem datum

Verfasst: Fr, 04.09.2009 22:37
von Karolus
Hallo
Warum nicht:

Code: Alles auswählen

sub datum_setzen
ThisComponent.Sheets(0).getCellByPosition(6, 22).formulalocal = DATE
end sub
?
Gruß Karo

Re: probleme mit automatisch erstelltem datum

Verfasst: Sa, 05.09.2009 13:42
von ykcim
Es ist egal ob Du

ThisComponent.Sheets(0).getCellByPosition(6, 22).value=DATE
oder
ThisComponent.Sheets(0).getCellByPosition(6, 22).formulalocal = DATE

nimmst. Um dann das gewünschte Format (tt.mm.jjjj) zu erhalten muss man in beiden Fällen Numberformat setzten.

mfg
Michael

Re: probleme mit automatisch erstelltem datum

Verfasst: So, 06.09.2009 01:15
von Karolus
Hallo Michael
ykcim hat geschrieben:Es ist egal ob Du

ThisComponent.Sheets(0).getCellByPosition(6, 22).value=DATE
oder
ThisComponent.Sheets(0).getCellByPosition(6, 22).formulalocal = DATE

nimmst. Um dann das gewünschte Format (tt.mm.jjjj) zu erhalten muss man in beiden Fällen Numberformat setzten.
Ich sehe nirgends das explizit das Format "tt.mm.jjjj" gewünscht ist? - mit ...formulalocal erfolgt automatisch eine Ausgabe im Standarddatumsformat (hier: tt.mm.jj) - mit ...value muss das Format extra gesetzt werden (falls keine Ganzzahlausgabe gewünscht wird)

Gruß Karo

Re: probleme mit automatisch erstelltem datum

Verfasst: So, 06.09.2009 02:13
von ykcim
Hallo Karo,

Der Frager schrieb:

Code: Alles auswählen

sondern das datum angeführt von einem hochstrich, also so:
'24.04.2009
wie kann ich meinem makro nahebringen, diesen hochstrich wegzulassen?
also bin ich davon ausgegangen das er das Format wünscht. Was natürlich nicht wirklich explixit ist :D

Und wenn man ein bestimmtes Format haben will ist es egal ob man Formulalocal oder Value nimmt (nur String geht nicht). Man muß das Format selber festlegen, sonst kommt das Standardformat.

mfg
Michael