Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1364to1368
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

MP3-Eigenschaften auslesen funzt nicht mehr

MP3-Eigenschaften auslesen funzt nicht mehr
23.06.2014 08:58:44
Urs
Hello
vor ein paar Jahren (ca 2004) hat hier K.Rola den untenstehenden File gepostet. Und ich meine, damit habe ich wirklich alle Dateieigenschaften von MP3 Dateien auslesen können. Wende ich heute diesen Script an, so erhalte ich höchstens noch ca 30% aller Dateieigenschaften ausgelesen. Arbeite mit Windows 7.
Woran kann es fehlen? Falls auf meinem Rechner irgend ein DLL fehlt, woher bekommt man das und wo muss ich das abspeichern? Bin eigentlich nur Anwender und kein PC Freak. Gruss urs

  • Option Explicit
    
    Sub Dateieigenschaften()
    Const STRFOLDER As String = "C:\Eigene Dateien"
    Dim objShell As Object, objFolder As Object
    Dim x As Byte, intColumn As Integer, lngRow 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)
    intColumn = 1
    For x = 0 To 33
    arrHeaders(x) = objFolder.GetDetailsOf(varName, x)
    Cells(1, intColumn + x) = arrHeaders(x)
    Next
    Rows(1).Font.Bold = True
    lngRow = 2
    For Each varName In objFolder.Items
    For x = 0 To 33
    Cells(lngRow, intColumn + x) = objFolder.GetDetailsOf(varName, x)
    Next
    lngRow = lngRow + 1
    Next
    Columns.AutoFit
    Application.ScreenUpdating = True
    End Sub
    


  • 5
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: MP3-Eigenschaften auslesen funzt nicht mehr
    23.06.2014 09:22:28
    Nepumuk
    Hallo,
    du liest ja nur die ersten 34 Eigenschaften aus. In den neueren Betriebssystemen gibt es wesentlich mehr. Bei mir sind es zur Zeit 287, das kann von Rechner zu Rechner unterschiedlich sein da manche Programme bei der Installation neue Eigenschaften hinzufügen. Beachte, auch die Reihenfolge kann bei fast identischer Installation abweichen, da kommt es nämlich auch noch auf die Reihenfolge der Installation an.
    So bekommst du alle Eigenschaften:
    Public Sub Dateieigenschaften()
        
        Const FOLDER_PATH As String = "C:\Eigene Dateien"
        Const MAX_PROPERTYS As Long = 1000
        
        Dim objShell As Object, objFolder As Object
        Dim lngIndex As Long, lngRow As Long, lngMaxCount As Long
        Dim vntName As Variant
        Dim strTemp As String
        
        If Dir$(FOLDER_PATH, vbDirectory) <> vbNullString Then
            
            Application.ScreenUpdating = False
            
            Cells.Clear
            
            Set objShell = CreateObject("Shell.Application")
            Set objFolder = objShell.Namespace(FOLDER_PATH)
            
            For lngIndex = 0 To MAX_PROPERTYS
                strTemp = objFolder.GetDetailsOf(vntName, lngIndex)
                If strTemp = vbNullString Then
                    lngMaxCount = lngMaxCount - 1
                    Exit For
                Else
                    Cells(1, lngIndex + 1).Value = strTemp
                    lngMaxCount = lngMaxCount + 1
                End If
            Next
            
            Rows(1).Font.Bold = True
            lngRow = 2
            
            For Each vntName In objFolder.Items
                For lngIndex = 0 To lngMaxCount
                    Cells(lngRow, lngIndex + 1).Value = _
                        objFolder.GetDetailsOf(vntName, lngIndex)
                Next
                lngRow = lngRow + 1
            Next
            
            Columns.AutoFit
            Application.ScreenUpdating = True
            
        Else
            MsgBox "Der Ordner " & FOLDER_PATH & " wurde nicht gefunden!", _
                vbExclamation, "weise hin..."
        End If
    End Sub

    Gruß
    Nepumuk

    Anzeige
    AW: MP3-Eigenschaften auslesen funzt nicht mehr
    23.06.2014 10:25:53
    Urs
    Hallo Nepumuk,
    vielen Dank für Deine Soforthilfe. Ich kann es erst zuhause ausprobieren, aber ich bin zuversichtlich dass Deine Lösung klappt
    Gruss urs

    Nachfrage @ Nepumuk
    23.06.2014 10:53:26
    Rudi
    Hallo,
    wenn ich den Code so ändere ist objFolder = Nothing!
    Weißt du warum?
    Public Sub Dateieigenschaften()
    '    Const FOLDER_PATH As String = "C:\test"
    Const MAX_PROPERTYS As Long = 1000
    Dim objShell As Object, objFolder As Object
    Dim lngIndex As Long, lngRow As Long, lngMaxCount As Long
    Dim vntName As Variant
    Dim strTemp As String
    Dim FOLDER_PATH As String
    With Application.FileDialog(msoFileDialogFolderPicker)
    If .Show = -1 Then
    FOLDER_PATH = .SelectedItems(1)
    End If
    End With
    If Dir$(FOLDER_PATH, vbDirectory)  vbNullString Then
    Debug.Print FOLDER_PATH
    Application.ScreenUpdating = False
    Cells.Clear
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(FOLDER_PATH)
    For lngIndex = 0 To MAX_PROPERTYS
    
    Gruß
    Rudi

    Anzeige
    Dim FOLDER_PATH As Variant
    23.06.2014 12:41:02
    Anton
    Hallo Rudi,
    weil FOLDER_PATH als Variant deklariert werden muss, siehe auch hier.
    mfg Anton

    AW: Dim FOLDER_PATH As Variant
    23.06.2014 12:47:14
    Rudi
    Hallo,
    danke, funktioniert.
    Kurios, dass es mit einer String-Konstanten geht aber nicht mit einer String-Variablen.
    Gruß
    Rudi

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige