# Datumsformat änder in Windows mit VB



## deen_90 (27. Mai 2008)

Hallo

Wie kann ich mit VB das Datumsformat von yyyy-mm-dd ins Datumsformat dd.mm.yy ändern?

Ich wäre über jede Hilfe froh

Gruss


----------



## ronaldh (27. Mai 2008)

Guck Dir mal die Format-Eigenschaft an.


```
Dim DatumText as String

    DatumText = Format(Now, "Short Date")
```

Damit wird z.B. das aktuelle Datum in der Form ausgegeben, wie es in den Windows-Ländereinstellungen definiert ist. 

Oder:

```
DatumText = format(now,"DD.MM.YYYY")
```

Damit wird das dann unabhängig von den Ländereinstellungen formatiert.

Grüsse
ronaldh


----------



## deen_90 (27. Mai 2008)

ich möchte dass das Format unter "Regional and Language Options" --> "Regional Options"-->"Customize"-->"Date"-->"Short date format" von yyyy-mm-dd ins Datumsformat dd.mm.yy ändern mit VBS.


----------



## ronaldh (28. Mai 2008)

Du kannst die lokalen Einstellungen auslesen, dies wird in diesem Link beschrieben (ist jedoch VB5/VB6).

Ich bezweifle, dass man diese Einstellungen aus einer Anwendung heraus setzen kann, da dies ja grundlegende Windows-Einstellungen sind, die auch alle anderen Anwendungen betreffen. 

Vielleicht hilft es aber, wenn Du die betreffenden Einstellungen ausliest, und, wenn Sie dem von Dir gewünschten Format nicht entsprechen, eine entsprechende Mitteilung anzeigst, und das Programm beendest.

Sinn macht das ganze ja auch nur, wenn die Anwendung z.B. ein Datum in einen String umwandelt und dann interpretiert. Wenn man dann z.B. mit Mid(Datum, 4, 2) den Monat lesen will, und dort steht aber der Tag, knallt es natürlich spätestens am 13. des Monats... Jedoch ist diese Art der Programmierung naturgemäß nicht sauber, besser ist es, hier lieber mit Datumsfunktionen zu arbeiten. Eine vernünftige Windows-Anwendung sollte letztlich unabhängig von den Länder- und Benutzereinstellungen immer arbeiten können, zumindest, wenn diese Anwendung auch an andere heraus gegeben wird.

Grüsse
ronaldh


----------



## deen_90 (28. Mai 2008)

Kann man aber nicht irgendwie auf die Windowsanwendung zugreifen und das Datum ändern? Ich habe gehört, dass die möglich sein sollte, aber bis jetzt hab ich leider noch nichts gefunden....
Und das Problem ist, dass der Kunde will dass das Datumsformat geändert wird in richtigen Format, damit eine Excel Tabelle funktioniert, da er nur mit 1 Datumsformat funktioniert und er will nicht das die Leute die diese Tabelle bekommen immer das Datum änder müssen.
Geht das sonst irgendwie anders im VBA?
Dort hab ich das Format schon geändert, aber er berechnet mir einige Zellen immer noch nicht, da in der Zelle immernoch das alte Datumsformat gespeichert wird.


----------



## ronaldh (28. Mai 2008)

Es lassen sich nicht alle Windows-Einstellungen softwaregesteuert ändern. 

Und ich wiederhole es nochmal (darüber solltest Du mit dem Kunden reden): Wenn Empfänger der Exceldatei ein anderes Datumsformat eingestellt haben als Dein Kunde, haben die vermutlich einen Grund dafür. Und ehrlich gesagt würde es mir fürchterlich stinken, wenn ich eine zugeschickte Exceldatei öffne und meine Windows-Einstellungen sind geändert. Und möglicherweise kann ich dann zwar die Exceldatei Deines Kunden verarbeiten, aber die 100 anderen Dateien, die ich sonst noch so habe, nicht mehr.

Der bessere Weg ist da allemal, diese Exceldatei umzustellen auf echte Datumsfunktionen, die Windows-konform die Ländereinstellungen nutzen. Im Grunde versucht Dein Kunde die Symptome, die sich aus einer schlampig erstellten Datei ergeben zu ändern, nur um die Ursache nicht beheben zu müssen.

Grüsse
ronaldh


----------

