Erstelldatum in Zelle schreiben

Bild

Betrifft: Erstelldatum in Zelle schreiben
von: Robert
Geschrieben am: 03.11.2015 11:22:10

Hallo Leute,
ich suche nach einer Lösung, wie ich ein bestimmtes Datum in eine Zelle schreiben kann.
Es gibt eine Template Datei, in die täglich Daten geladen werden und dann die Datei mit den Daten neu abgespeichert wird.
Wenn ich in Excel auf Datei klicke und dann auf Informatonen, wird mir als Erstelldatum der 09.12.2012 angezeigt. Das Erstelldatum der neuen Datei ist aber zum Beispiel der 30.10.2015. Im Ordner wo die Dateien abgespeichert werden, wird ja der dateiname, änderungsdatum, typ, größe und eben das Erstelldatum angezeigt. Gibt es eine Möglichkeit auf das Erstelldatum, welches im Ordner angezeigt wird, in eine Zelle zu schreiben?
Bisher habe ich nur:
Sheets("Tabelle1").Cells(2, 5).Value = Format(ThisWorkbook.BuiltinDocumentProperties("Last save time"), "short date")
Wenn eine Datei nachträglich verändert wird, und dann auch erst die Codezeile ausgeführt wird, wird das Ergebnis verfälscht, da die daten zwar vom 30.10.2015 stammen, aber dann zum Beispiel der 03.11.2015 eingetragen wird.. Wenn das Attribut auf Creation date stat last save time geändert wird, wird eben 09.12.2012 eingetragen, ich suche nach einer Möglichkeit garantiert den 30.10.2015 eintragen zu lassen, habt ihr da eine Idee? :)

Bild

Betrifft: AW: Mit FileDateTime...
von: Michael (migre)
Geschrieben am: 03.11.2015 11:43:34
Hallo Robert,
...könnte es für Dich klappen. Etwa:

Sheets("Tabelle1").Cells(2, 5) = FileDateTime(ThisWorkbook.FullName)
Ist inkl. Uhrzeit - müsstest Du ggf. noch umformatieren, wenn Dich die Uhrzeit stört.
LG
Michael

Bild

Betrifft: AW: Mit FileDateTime...
von: Robert
Geschrieben am: 03.11.2015 14:55:18
Leider trägt er so die jetzige Uhrzeit mit Datum ein. und ncht den 30.10.2015 zB

Bild

Betrifft: AW: Mit FileDateTime...
von: daniel
Geschrieben am: 03.11.2015 15:01:48
Hi
du kannst mit INT(FileDateTime(...)) die Uhrzeit abschneiden.
Datum und Uhrzeit ist für Excel eine einfache Zahl.
ein Tag hat den Wert 1, dh der Ganzzahlanteil stellt das Datum dar und die Nachkommastellen die Uhrzeit.
Gruß Daniel

Bild

Betrifft: AW: Neuer Versuch...
von: Michael (migre)
Geschrieben am: 03.11.2015 15:29:54
Hallo Robert und Daniel!
Wenn das auch das falsche Datum bringt, würde mir noch ein Weg über das FileSystemObject einfallen:

Sub WannWurdeIchErzeugt()
    Dim oDateiSystem As Object
    Dim oDatei As Object
    
    Set oDateiSystem = CreateObject("Scripting.FileSystemObject")
    Set oDatei = oDateiSystem.getfile(ThisWorkbook.FullName)
    
    Debug.Print oDatei.DateCreated
End Sub
Bringt das das gewünschte Datum?
LG
Michael

Bild

Betrifft: AW: Neuer Versuch...
von: Robert
Geschrieben am: 04.11.2015 09:28:37
Das sieht schon mal sehr sehr gut aus.
Hast du noch ein Tipp an welcher Stelle ich die Uhrzeit wegschneide, sodass nur das Datum da steht? :)

Bild

Betrifft: AW: Neuer Versuch ergänzt: Nur Datum
von: Michael (migre)
Geschrieben am: 04.11.2015 10:43:29
Hallo Robert!
Na das ist doch erfreulich. Nur Datum dann so (würde einfach die Uhrzeit hart abschneiden):

Sub WannWurdeIchErzeugt()
    Dim oDateiSystem As Object
    Dim oDatei As Object
    
    Set oDateiSystem = CreateObject("Scripting.FileSystemObject")
    Set oDatei = oDateiSystem.getfile(ThisWorkbook.FullName)
    
    Debug.Print Left(oDatei.DateCreated, 10)
End Sub
Passt?
LG
Michael

Bild

Betrifft: AW: Neuer Versuch ergänzt: Nur Datum
von: Robert
Geschrieben am: 04.11.2015 10:51:39
hey Michael,
du bist mein Held :)
Das klappt wunderbar. Ich bin dir sehr dankbar :)

Bild

Betrifft: AW: Gerne! Vielen Dank für die nette Rückmeldung..
von: Michael (migre)
Geschrieben am: 04.11.2015 11:00:48
Robert!
Freut mich, dass es für Dich so passt. Heldenhaft war's wohl noch nicht ;-), aber ich werde mich weiter bemühen!
LG
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Erstelldatum in Zelle schreiben"