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