Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1696to1700
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
Inhaltsverzeichnis

Eigenschaften ergänzen

Eigenschaften ergänzen
05.06.2019 23:59:21
El.
Hallo liebes Forum,
ich habe mehrere 100 Filme im Archiv, die ich gerne in eine Excel Tabelle einlesen will. Mit dem VBA Makro funktioniert auch alles so weit ganz gut. Aber was mir nicht gefällt, sind die fehlenden Einträge für die "Bild Höhe & Bildbreite". (Bei mir sind das die Eigenschaften Nr.314 & 316). Die Eigenschaften habe ich mit einem anderen Makro herausbekommen. Aber dieses Makro hat wieder andere Nachteile. Deshalb ist die "Musterdatei" glaube ich, der einfachere Weg, um zum Ziel zu kommen. Da ich schon mehrere Tage nach einer Lösung gesucht, aber nicht fündig geworden bin, wende ich mich deshalb an das Excel Forum mit der Bitte, die Musterdatei mit den fehlenden Eigenschaften dementsprechend zu ergänzen.
Vielen Dank im voraus.
Viele Grüße
Elfriede
https://www.herber.de/bbs/user/130231.xlsm

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eigenschaften ergänzen
06.06.2019 12:33:56
Nepumuk
Hallo Elfriede,
teste mal:
Private Sub list_files(r As Range, ordner As Object)
    
    Const PICTURE_HEIGHT As String = "Höhe"
    Const PICTURE_WIDTH As String = "Breite"
    
    Dim file As Object
    Dim subordner As Object
    Dim objFolder As Object
    Dim lngIndex As Long, lngHeightIndex As Long, lngWidthIndex As Long
    
    Static sobjShell As Object
    
    Application.ScreenUpdating = False
    
    If sobjShell Is Nothing Then Set sobjShell = CreateObject("Shell.Application")
    
    Set objFolder = sobjShell.Namespace(ordner.Path & "\")
    
    For lngIndex = 0 To 300
        Select Case objFolder.GetDetailsOf(Empty, lngIndex)
            Case PICTURE_HEIGHT
                lngHeightIndex = lngIndex
            Case PICTURE_WIDTH
                lngWidthIndex = lngIndex
        End Select
    Next
    
    For Each file In ordner.Files
        'R(1) = file.Name
        'R(2) = DateValue(file.DateLastModified)
        'R(3) = TimeValue(file.DateLastModified)
        'R(4) = file.Size / 1024
        'R(5) = ordner.Path
        
        r(1) = ordner.Path
        r(2) = file.Name
        r(3) = file.Size / 1024
        r(4) = DateValue(file.DateCreated)
        r(5) = TimeValue(file.DateCreated)
        r(6) = DateValue(file.DateLastModified)
        r(7) = TimeValue(file.DateLastModified)
        r(8) = DateValue(file.DateLastAccessed)
        r(9) = TimeValue(file.DateLastAccessed)
        r(10) = Replace(objFolder.GetDetailsOf(objFolder.ParseName(file.Name), lngHeightIndex), " Pixel", vbNullString)
        r(11) = Replace(objFolder.GetDetailsOf(objFolder.ParseName(file.Name), lngWidthIndex), " Pixel", vbNullString)
        
        Set r = r.Offset(1)
    Next
    
    For Each subordner In ordner.SubFolders
        If (subordner.Attributes And 4) = 0 Then Call list_files(r, subordner) '/System-Ordner/
    Next
    
    'Range("B:B,F:F").HorizontalAlignment = xlRight
    Range("D2:L2").HorizontalAlignment = xlCenter
    Range("B:B,C:C").HorizontalAlignment = xlLeft
    Range("K:K,L:L").HorizontalAlignment = xlRight
    'Range("D:F").HorizontalAlignment = xlCenter
    Range("A2:L2").Interior.ColorIndex = 35
    Range("A2:L2").Font.Bold = True
    'Range("B:F").Columns.AutoFit
    
    Application.ScreenUpdating = True
End Sub

Wenn du die Abmessungen von Videos auch sehen willst müssen wir das ergänzen.
Gruß
Nepumuk
Anzeige
AW: Eigenschaften ergänzen
06.06.2019 13:00:43
El.
Hallo Nepumuk,
zuerst einmal Danke für Dein Makro.
Nur jetzt stehe ich wie der "Ochs vorm Berge" da. Ich weiß nämlich nicht, wie ich das Sub aufrufen soll, damit ich es ausprobieren kann. Hilf mir bitte mal etwas auf die Sprünge.
Danke im voraus.
Viele Grüße
Elfriede
AW: Eigenschaften ergänzen
06.06.2019 14:03:07
Nepumuk
Hallo Elfride,
du musst nur deine Sub list_files durch meine ersetzen.
Gruß
Nepumuk
AW: Eigenschaften ergänzen
06.06.2019 14:35:06
El.
Hallo Nepumuk,
Heute scheint nicht mein Tag zu sein. Irgendwie stehe ich auf dem "berühmten Schlauch". Weiß nicht, wie das gemeint ist: "du musst nur deine Sub list_files durch meine ersetzen". Wenn es Dir nicht's aus macht, bitte etwas ausführlicher!!! Man kann dabei auch etwas lernen!!!
Danke im voraus.
Viele Grüße
Elfriede
Anzeige
AW: Eigenschaften ergänzen
06.06.2019 15:05:07
Nepumuk
Hallo Elfriede,
wenn du deine Mappe öffnest und mit Alt+F11 in den VBA-Editor wechselst dann findest du doch mit einem Doppelklick auf Modul1 im Projektexplorer deinen Code. Der besteht aus zwei Prozeduren. Einmal "DateiInfos_auslesen_Peter1" und etwas weiter unten "Sub list_files(r As Range, ordner As Variant)". Dieses zweite Makro (Sub list_files…) löschst du und ersetzt es durch meinen Code.
Jetzt klarer? :D
Gruß
Nepumuk
AW: Eigenschaften ergänzen
06.06.2019 15:38:10
El.
Hallo Nepumuk,
endlich hat es geklappt, bis auf die Fehlermeldung die dann beim Aufruf kam: "Laufzeitfehler 91, Objectvariable oder White-Blockvariable nicht festgelegt". Schon ging nichts mehr!!!
Viele Grüße
Elfriede
Anzeige
AW: Eigenschaften ergänzen
06.06.2019 16:55:44
El.
Hallo Nepumuk,
das Makro funktioniert jetzt auch bei mir. Nur werden die Eigenschaften für die Bildhöhe & Bildbreite nur für Bilddateien (*.jpg) und nicht für Video / Film Dateien (*.mpg, *.mp4) angezeigt. (Eigenschaften Nr. 314 & 316)
Viele Grüße
Elfriede
AW: Eigenschaften ergänzen
06.06.2019 17:58:28
Nepumuk
Hallo Elfriede,
hab ich doch geschrieben, für Videos muss die Prozedur angepasst werden. Also, teste mal:
https://www.herber.de/bbs/user/130262.xlsm
Gruß
Nepumuk
Anzeige
AW: Eigenschaften ergänzen
06.06.2019 21:45:47
El.
Hallo Nepumuk,
recht herzlichen Dank für Deine gute Arbeit, die Du abgeliefert hast. Alles funktioniert wie es soll und es vorgesehen war. Was noch fehlt, wäre eine Möglichkeit, dass man beim Start des Makros, direkt das LW oder den Ordner aufrufen bzw. aussuchen könnte, den man auslesen will. Wie gesagt, es wäre schön, wenn es das noch gebe. Sozusagen das i-Düpfele (Sahnehäubchen) auf dem Makro. Was ich auch noch fragen wollte für eventuelle spätere Ergänzungen, wo finde ich eigentlich die englischen Bezeichnungen für die über 300 verschiedenen Eigenschaften, die es da gibt? Kannst Du mir bitte mal die URL nennen? Danke, im voraus.
Viele Grüße
Elfriede
Anzeige
AW: Eigenschaften ergänzen
07.06.2019 09:18:48
Nepumuk
Hallo Elfriede,
eine Übersetzung der Eigenschaften kann ich dir nicht nennen. Ich lese diese mit einem Makro aus:
Public Sub Dateieigenschaften()
    
    Const FOLDER_PATH As String = "G:\Eigene Dateien\Eigene Bilder\Fotos\Neuer Ordner\" 'Ordner anpassen !
    
    Dim objShell As Object, objFolder As Object
    Dim lngIndex As Long
    
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(FOLDER_PATH)
    
    Application.ScreenUpdating = False
    
    Cells.Clear
    
    For lngIndex = 0 To 400
        Cells(lngIndex + 1, 1) = objFolder.GetDetailsOf(Empty, lngIndex)
    Next
    
    Application.ScreenUpdating = True
    
    Set objFolder = Nothing
    Set objShell = Nothing
    
End Sub

Und, nach der Nummer kannst du nicht gehen da sich die von Rechner zu Rechner unterscheiden. Denn die eine oder andere Software erzeugt bei der Installation neue Ordnereigenschaften welche die anderen in der Reihenfolge verschieben.
Hier deine geänderte Mappe (die Eigenschaften Breite und Höhe kann ich bei Dateien die direkt auf dem Laufwerk liegen also z.B. G:\Bild.jpg nicht auslesen):
https://www.herber.de/bbs/user/130273.xlsm
Gruß
Nepumuk
Anzeige
AW: Eigenschaften ergänzen
07.06.2019 09:59:01
El.
Hallo Nepumuk,
alles großartig, alles Bestens. Ein großes Lob an Dich und das Forum und nochmals vielen Dank.
Viele Grüße
Elfriede
AW: Eigenschaften ergänzen
06.06.2019 12:45:29
El.
Hallo Bernd,
zuerst Danke für Deinen Hinweis. Leider hilft mir das insofern auch nicht viel weiter, weil ich diese Beispiel Dateien alle schon mal ausprobiert habe. Die "Sub Dateieigenschaften()" zeigt mir zwar alle Dateieigenschaften die es gibt an. Aber das will ich ja eben nicht, sondern möchte ja selber eine Auswahl treffen können, welche Eigenschaften er mir anzeigen soll und da geht es eben hauptsächlich um die fehlenden Einträge für die "Bild Höhe & Bildbreite".
Viele Grüße
Elfriede
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige