Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
716to720
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateieigenschaften - Autor

Dateieigenschaften - Autor
10.01.2006 18:54:18
Beyersdorf
Hallo,
möchte mit einem Makro die Dateigenschaften (erstellt am, zuletzt geöffnet am, zuletzt gespeichert am und den Autor) von allen Excel-Dateien in einem Verzeichnis auslesen.
Bis auf den Autor funktioniert das auch schon mittels eines Makro was ich nach ein wenig googeln gefunden habe.
ActiveWorkbook.BuiltinDocumentProperties hilft mir nicht weiter, denn dazu muss die Datei geöffnet sein, was aber angesichts der Menge von ca. 2000 Dateien zu lange dauert.
Wer kann mir helfen?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateieigenschaften - Autor
10.01.2006 19:44:39
DieterB
Hallo,
ich habe da eine Datei.
Man kann das vielleicht so machen, dass man
in einer Schleife die Dateien öffnet, ausliest, schliesst, nächste öffnet.
Dann mit Active-Workbook..... die Zeilen (2000?) füllt.
Gruß DieterB
AW: Dateieigenschaften - Autor
ransi
Hallo beyersdorf
starte dies mal aus einem leeren tabellenblatt.


Sub Dateieigenschaften()
'Orignal von k.rola
    Const STRFOLDER As String = "d:\Eigene Dateien" 'anpassen
    Dim objShell As Object
    Dim objFolder As Object
    Dim x As Byte
    Dim spalte As Integer
    Dim zeile As Long
    Dim varName, arrHeaders(34)
    If Dir(STRFOLDER, 16) = "" Then
      MsgBox "Der Ordner " & STRFOLDER & " wurde nicht gefunden!" & Space(10), 64, "weise hin..."
      Exit Sub
    End If
    Application.ScreenUpdating = False
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(STRFOLDER)
    spalte = 1
    For x = 0 To 33
            Select Case x
            Case 0, 3 To 5, 9
                arrHeaders(x) = objFolder.GetDetailsOf(varName, x)
                Cells(1, spalte + x) = arrHeaders(x)
            End Select
    Next
    Rows(1).Font.Bold = True
    zeile = 2
    For Each varName In objFolder.Items
        If varName Like "*.xls" Then
            For x = 0 To 33
                    Select Case x
                    Case 0, 3 To 5, 9
                        Cells(zeile, spalte + x) = objFolder.GetDetailsOf(varName, x)
                    End Select
            Next
            zeile = zeile + 1
        End If
    Next
    Columns.AutoFit
    Application.ScreenUpdating = True
End Sub


Ich denke das kommt dem was du willst schon sehr nah...
ransi
Anzeige
AW: Dateieigenschaften - Autor
10.01.2006 21:10:21
Walter
Hallo,
danke für die schnelle Beantwortung, es ist (fast) genau was ich wollte.
Leider ich vergaß zu erwähnen, dass auch alle Unterverzeichnisse miteinbezogen werden sollen...
Gibt es auch dafür eine Lösung?
Gruß Walter
AW: Dateieigenschaften - Autor
ransi
Hallo
"Gibt es auch dafür eine Lösung?"
Bestimmt, aber das übersteigt meine Fähigkeiten.
Darum "Frage noch offen"
ransi
AW: Dateieigenschaften - Autor
10.01.2006 22:17:32
Josef
Hallo Walter!
Auf die schnelle mal umgebaut!
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit
Dim varName As Object
Dim x As Byte
Dim spalte As Integer
Dim zeile As Long
Dim objShell As Object
Dim objFolder As Object
Dim arrHeaders(34)
Sub DateieigenschaftenMitSubFolder()
'Orignal von k.rola
Const STRFOLDER As String = "F:\Office\Excel\" 'anpassen

If Dir(STRFOLDER, 16) = "" Then
  MsgBox "Der Ordner " & STRFOLDER & " wurde nicht gefunden!" & Space(10), 64, "weise hin..."
  Exit Sub
End If

Application.ScreenUpdating = False

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(STRFOLDER)

spalte = 1

For x = 0 To 33
  Select Case x
    Case 0, 3 To 5, 9
      arrHeaders(x) = objFolder.GetDetailsOf(varName, x)
      Cells(1, spalte + x) = arrHeaders(x)
  End Select
Next

Rows(1).Font.Bold = True
zeile = 2

getDetails objFolder

Columns.AutoFit
Application.ScreenUpdating = True

Set objShell = Nothing
Set objFolder = Nothing

End Sub


Private Function getDetails(objF)
Dim objSF As Object
For Each varName In objF.Items
  If varName.IsFolder Then
    Set objSF = objShell.Namespace(varName)
    getDetails objSF
  Else
    If varName Like "*.xls" Then
      For x = 0 To 33
        Select Case x
          Case 0, 3 To 5, 9
            Cells(zeile, spalte + x) = objF.GetDetailsOf(varName, x)
        End Select
      Next
      zeile = zeile + 1
    End If
  End If
Next
Set objSF = Nothing
End Function


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Dateieigenschaften - Autor
ransi
Hallo sepp
Schön das du dich einschaltest.
Wieder was gelernt.
Wo gibt es denn den Code nach HTML übersetzer den du benutzt?
Ist das der den es bei online excel mal zum download geben sollte?
ransi
@ ransi
11.01.2006 16:14:29
Josef
Hallo ransi!
Ja, das ist dieses Tool! Ob und wann es allerdings zum Download bereitsteht, weis ich leider nicht!
Gruß Sepp
AW: Dateieigenschaften - Autor
11.01.2006 18:38:06
Walter
@Sepp: Danke für den "Umbau", es ist jetzt genau das Richtige!!!
Gruß Walter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige