Dateiinformationen - Dateiname, Änderungsdatum, Autor, Computername...

Frage: Aus allen Dateien eines Ordners benötige ich verschiedene Informationen (Name, Änderungsdatum, Autor...). Wie geht das?

From all files in a folder I need different information (name, date modified, author ...). How does it work?

Hier noch eine Beispieldatei / Here's a sample file:
Dateiinformationen - Dateiname, Änderungsdatum, Autor, Computername...[XLSB 30 KB]

' Variablendeklaration erforderlich
Option Explicit
'--------------------------------------------------------------------------
' Module    : Module1
' Procedure : Main
' Author    : Case (Ralf Stolzenburg)
' Date      : 22.10.2013
' Purpose   : Informationen über Dateien...
'--------------------------------------------------------------------------
Sub Main()
    ' Variablendeklaration
    Dim objFolder As Object
    Dim objShell As Object
    Dim objName As Object
    Dim lngCalc As Long
    Dim lngRow As Long
    ' Eine Konstante
    Const strFolder As String = "C:\Temp" ' Pfad anpassen!!!!!
    ' Wenn ein Fehler auftritt gehe zu der angegebenen Sprungmarke
    On Error GoTo Fin
    ' Die Excelapplikation wird ruhig gestellt - UNBEDINGT wieder einschalten
    With Application
        ' Das Bildschirmaktualisierung wird unterbrochen
        .ScreenUpdating = False
        ' Ereignisroutinen werden deaktiviert
        .EnableEvents = False
        ' Auslesen der momentanen Einstellung für die Berechnung
        lngCalc = .Calculation
        ' Setzen der Berechnung auf "Manuell"
        .Calculation = xlCalculationManual
        '  Eingabeaufforderungen und Warnmeldungen unterdrücken
        .DisplayAlerts = False
    End With
    ' In Sheet1 alle Zellen löschen
    Sheet1.Cells.Delete
    ' Shellapplikation der Objektvariablen zuweisen
    Set objShell = CreateObject("Shell.Application")
    ' Namespace des entsprechenden Ordners der Objektvariablen zuweisen
    Set objFolder = objShell.Namespace(strFolder)
    ' Schleife über alle Dateien
    For Each objName In objFolder.Items
        ' Dateiname in Spalte A ausgeben (siehe Liste unten)
        Sheet1.Cells(lngRow + 1, 1) = objFolder.GetDetailsOf(objName, 0)
        ' Änderungsdatum in Spalte B ausgeben (siehe Liste unten)
        Sheet1.Cells(lngRow + 1, 2) = objFolder.GetDetailsOf(objName, 3)
        ' "Erkannter" Dateityp in Spalte C ausgeben (siehe Liste unten)
        Sheet1.Cells(lngRow + 1, 3) = objFolder.GetDetailsOf(objName, 9)
        ' Autor in Spalte D ausgeben (siehe Liste unten)
        Sheet1.Cells(lngRow + 1, 4) = objFolder.GetDetailsOf(objName, 20)
        ' Computername in Spalte E ausgeben (siehe Liste unten)
        Sheet1.Cells(lngRow + 1, 5) = objFolder.GetDetailsOf(objName, 53)
        ' nächste Zeile
        lngRow = lngRow + 1
    Next objName
    ' Spaltenbreite auf optimale Breite einstellen
    Sheet1.Columns.AutoFit
Fin:
    ' Setze die Objektvariablen auf Nothing
    Set objFolder = Nothing
    Set objShell = Nothing
    ' Die Applikation aufwecken
    With Application
        ' Bildschirmaktualisierung wieder einschalten
        .ScreenUpdating = True
        ' Ereignisroutinen werden wieder aktiviert
        .EnableEvents = True
        ' Setzen der Berechnung auf den gemerkten Wert
        .Calculation = lngCalc
        ' Eingabeaufforderungen und Warnmeldungen wieder zulassen
        .DisplayAlerts = True
        ' Abbrechen Ausschneide- bzw. Kopiermodus und entfernen des Laufrahmens
        .CutCopyMode = True
    End With
    ' Wenn ein Fehler auftritt gib ihn aus mit Fehlernummer und Beschreibung
    If Err.Number <> 0 Then MsgBox "Error: " & _
        Err.Number & " " & Err.Description
End Sub

'Nummer Bezeichnung
'0      Name
'1      Größe
'2      Elementtyp
'3      Änderungsdatum
'4      Erstelldatum
'5      Letzter Zugriff
'6      Attribute
'7      Offlinestatus
'8      Offline verfügbar
'9      Erkannter Typ
'10     Besitzer
'11     Art
'12     Aufnahmedatum
'13     Mitwirkende Interpreten
'14     Album
'15     Jahr
'16     Genre
'17     Dirigenten
'18     Markierungen
'19     Bewertung
'20     Autoren
'21     Titel
'22     Thema
'23     Kategorien
'24     Kommentare
'25     Copyright
'26     Titelnummer
'27     Länge
'28     Bitrate
'29     Geschützt
'30     Kameramodell
'31     Abmessungen
'32     Kamerahersteller
'33     Firma
'34     Dateibeschreibung
'35     Programmname
'36     Dauer
'37     Ist online
'38     Periodisch wiederkehrend
'39     Ort
'40     Adressen der optionalen Teilnehmer
'41     Optionale Teilnehmer
'42     Organisatoradresse
'43     Organisatorname
'44     Erinnerungszeit
'45     Adressen der erforderlichen Teilnehmer
'46     Erforderliche Teilnehmer
'47     Ressourcen
'48     Besprechungsstatus
'49     Status frei / besetzt
'50     Gesamtgröße
'51     Kontoname
'52     Aufgabenstatus
'53     Computer
'54     Jahrestag
'55     Name des Assistenten
'56     Telefonnummer des Assistenten
'57     Geburtstag
'58     Geschäftsadresse
'59     Ort (geschäftlich)
'60     Land/Region (geschäftlich)
'61     Postfach (geschäftlich)
'62     Postleitzahl (geschäftlich)
'63     Bundesland/Kanton (geschäftlich)
'64     Straße (geschäftlich)
'65     Fax (geschäftlich)
'66     Homepage (geschäftlich)
'67     Rufnummer (geschäftlich)
'68     Rückrufnummer
'69     Autotelefon
'70     Kinder
'71     Zentrale Firmenrufnummer
'72     Abteilung
'73     E -Mail - Adresse
'74     E -Mail2
'75     E -Mail3
'76     E -Mail - Liste
'77     E -Mail - Anzeigename
'78     Speichern unter
'79     Vorname
'80     Vollständiger Name
'81     Geschlecht
'82     Gegebener Name
'83     Hobbies
'84     Privatadresse
'85     Ort (privat)
'86     Land/Region (privat)
'87     Postfach (privat)
'88     Postleitzahl (privat)
'89     Bundesland/Kanton (privat)
'90     Straße (privat)
'91     Fax (privat)
'92     Rufnummer (privat)
'93     IM -Adressen
'94     Initialen
'95     Position
'96     Bezeichnung
'97     Nachname
'98     Adresse
'99     Zweiter Vorname
'100    Mobiltelefon
'101    Spitzname
'102    Bürostandort
'103    Weitere Adresse
'104    Andere Stadt
'105    Anderes Land / Region
'106    Anderes Postfach
'107    Andere Postleitzahl
'108    Anderes Bundesland bzw. Kanton
'109    Andere Straße
'110    Pager
'111    Persönlicher Titel
'112    Stadt
'113    Land/Region
'114    Postfach
'115    Postleitzahl
'116    Bundesland/Kanton
'117    Straße
'118    Primäre E - Mail
'119    Primäre Telefonnummer
'120    Beruf
'121    Ehepartner/Partner
'122    Suffix
'123    TTY/TTD-Telefon
'124    Telex
'125    Webseite
'126    Inhaltstatus
'127    Inhaltstyp
'128    Erfassungsdatum
'129    Archivierungsdatum
'130    Vollendungsdatum
'131    Gerätekategorie
'132    Verbindung hergestellt
'133    Erkennungsmethode
'134    Anzeigename
'135    Lokaler Computer
'136    Hersteller
'137    Modell
'138    Paarweise
'139    Klassifizierung
'140    Gerätestatus
'141    Clientkennung
'142    Mitwirkende
'143    Inhalt erstellt
'144    Zuletzt gedruckt
'145    Letzte Speicherung
'146    Hauptabteilung
'147    Dokument -ID
'148    Seiten
'149    Folien
'150    Gesamtbearbeitungszeit
'151    Wortanzahl
'152    Fällig am
'153    Enddatum
'154    Dateianzahl
'155    Dateiname
'156    Dateiversion
'157    Kennzeichnungsfarbe
'158    Kennzeichnungsstatus
'159    Freier Speicherplatz
'160    Bittiefe
'161    Horizontale Auflösung
'162    Breite
'163    Vertikale Auflösung
'164    Höhe
'165    Wichtigkeit
'166    Anlage?
'167    Ist gelöscht
'168    Verschlüsselungsstatus
'169    Kennzeichnung vorhanden
'170    Wurde beendet
'171    Unvollständig
'172    Lesestatus
'173    Freigegeben
'174    Ersteller
'175    Datum
'176    Ordnername
'177    Ordnerpfad
'178    Ordner
'179    Teilnehmer
'180    Pfad
'181    Nach Ort
'182    Typ
'183    Kontaktnamen
'184    Eintragstyp
'185    Sprache
'186    Letzter Besuch
'187    Beschreibung
'188    Verknüpfungsstatus
'189    Verknüpfungsziel
'190    URL
'191    Medium erstellt
'192    Veröffentlichungsdatum
'193    Codiert durch
'194    Produzenten
'195    Herausgeber
'196    Untertitel
'197    Benutzerweb -URL
'198    Texter
'199    Anlagen
'200    BCC -Adressen
'201    BCC
'202    CC -Adressen
'203    CC
'204    Unterhaltungs -ID
'205    Empfangsdatum
'206    Absendungsdatum
'207    Von Adressen
'208    Von
'209    Hat Anlagen
'210    Absenderadresse
'211    Absendername
'212    Speicher
'213    Empfängeradressen
'214    Arbeitstitel
'215    An
'216    Laufzeit
'217    Albuminterpret
'218    Album -ID
'219    Beats pro Minute
'220    Komponisten
'221    Ursprünglicher Schlüssel
'222    Bestandteil einer Kompilation
'223    Stimmung
'224    Teil eines Satzes
'225    Zeitraum
'226    Farbe
'227    Jugendschutz
'228    Grund für Jugendschutzeinstufung
'229    Verwendeter Speicherplatz
'230    EXIF -Version
'231    Ereignis
'232    Lichtwert
'233    Belichtungsprogramm
'234    Belichtungszeit
'235    Blendenzahl
'236    Blitzlichtmodus
'237    Brennweite
'238    35mm Brennweite
'239    ISO -Filmempfindlichkeit
'240    Objektivhersteller
'241    Objektivmodell
'242    Lichtquelle
'243    Maximale Blende
'244    Messmodus
'245    Ausrichtung
'246    Personen
'247    Programmmodus
'248    Sättigung
'249    Abstand
'250    Weißausgleich
'251    Priorität
'252    Projekt
'253    Kanal
'254    Folgenname
'255    Untertitel (Closed Captions)
'256    Wiederholung
'257    Zweikanalton
'258    Sendungsdatum
'259    Sendungsbeschreibung
'260    Aufnahmezeit
'261    Senderrufzeichen
'262    Fernsehsendername
'263    Zusammenfassung
'264    Schnipsel
'265    Automatische Zusammenfassung
'266    Suchrelevanz
'267    Sensitivität
'268    Freigegeben für
'269    Freigabestatus
'270    Produktname
'271    Produktversion
'272    Supportlink
'273    Quelle
'274    Startdatum
'275    Abrechnungsinformationen
'276    Abgeschlossen
'277    Aufgabenbesitzer
'278    Gesamtdateigröße
'279    Marken
'280    Videokomprimierung
'281    Regisseure
'282    Datenrate
'283    Bildhöhe
'284    Einzelbildrate
'285    Bildbreite
'286    Gesamtbitrate

Kommentare

  1. hallo ralf,
    auf der suche nach einem vba-code, der die horiz./vertik. auflösung von bmp-dateien aus ordnern und unterordnern ausliest, bin ich auf diesen code gestoßen.
    bei ausführung wird aber nur der dateiname und das änderungsdatum angezeigt. gibt es eine möglichkeit, die auflösung (dpi) auszulesen und anzeigen zu lassen?
    viele grüße tim

    AntwortenLöschen
    Antworten
    1. Das geht so:

      https://msdn.microsoft.com/de-de/library/bb979154.aspx

      Löschen

Kommentar veröffentlichen

Beliebte Posts aus diesem Blog

Formeln - auch Array - per VBA eintragen...

Alle Dateien eines Ordners - Optional mit Unterordner

Excel -> Word in Textmarken (Bookmarks)...