744 Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

wir kann ich in Zelle "A1" das "System"-Datum der letzten Änderung der aktuellen Excel-Datei/ ausgeben?
Danke für euren Tipp!
A.

2 Antworten

0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo,

ich habe doch noch selbst eine Lösung gefunden:

[code]
.......
Dim a, b
Dim dteLAE As Date

strUmlage = (ActiveWorkbook.FullName)
Set a = CreateObject("Scripting.FileSystemObject")
Set b = a.GetFile(strUmlage)
dteLAE = b.DateLastModified
.....[/code][code]

Falls jemand eine bessere Lösung hat, gern.
VG A,
0 Punkte
Beantwortet von
Hallo Andreas :-)

Hier was zu tüfteln!

Gruß Nighty

Auswahl eines Ordners > Abtastung der befindlichen Dateien auf Änderung > Ausgabe

A = Dateiname
B = Datum der Erstellung
C = Zeit der Erstellung
D = Datum der letzten Änderung
E = Zeit der letzten Änderung
F = Eine Änderung wird mit "*" markiert und die Zeile Farblich hervorgehoben

[code]Sub ShowFile()
    Dim Dpfad As String, DateiName As String
    Dim Lzeile As Long
    Dim FileO As Object, Files As Object
    Set FileO = CreateObject("Scripting.FileSystemObject")
    Dpfad = OrdnerAuswahl
    DateiName = Dir(Dpfad & "*.*")
    Do While DateiName <> ""
        Set Files = FileO.GetFile(Dpfad & DateiName)
        With Worksheets(1)
            Lzeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
            .Cells(Lzeile, 1) = Files.Name
            .Cells(Lzeile, 2) = Files.DateCreated
            .Cells(Lzeile, 3) = Files.DateCreated
            .Cells(Lzeile, 4) = Files.DateLastModified
            .Cells(Lzeile, 5) = Files.DateLastModified
            If .Cells(Lzeile, 4) <> .Cells(Lzeile, 2) Or .Cells(Lzeile, 5) <> .Cells(Lzeile, 3) Then
                .Range(.Cells(Lzeile, 1), .Cells(Lzeile, 6)).Font.ColorIndex = 5
                .Cells(Lzeile, 6) = "*"
            Else
                .Range(.Cells(Lzeile, 1), .Cells(Lzeile, 5)).Font.ColorIndex = 1
            End If
            DateiName = Dir
        End With
    Loop
End Sub[/code]
[code]Function OrdnerAuswahl() As String
    On Error Resume Next
    Dim AppShell As Object
    Dim BrowseDir As Variant
    Set AppShell = CreateObject("Shell.Application")
    Set BrowseDir = AppShell.BrowseForFolder(0, "Ordner auswählen", &H1000, 17)
    OrdnerAuswahl = BrowseDir.items().Item().Path & "\"
End Function[/code]
...