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

Set für GetDeteilsOf klappt nicht

Set für GetDeteilsOf klappt nicht
14.01.2023 20:51:40
Piet
Hallo Kollegen
ich habe mir aus dem Internet eine Datei zum Ordner auflisten mit FSO gebastelt. Die zweite als Array.
Bei der zweiten Array Datei (Tabelle2) bekomme ich die Set Anweisung für GetDetailsOf nicht hin.
Waere schön wenn mir damit ein Kollege auf die Sprünge helfen kann. Vielen Dank im voraus.
https://www.herber.de/bbs/user/157267.xls
mf Piet

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

Betreff
Datum
Anwender
Anzeige
AW: Set für GetDeteilsOf klappt nicht
14.01.2023 22:31:59
ralf_b
könnte es sein das parsename auf ein shellobject angewendet wird und nicht auf ein Filesystemobject?
AW: Set für GetDeteilsOf klappt nicht
15.01.2023 15:32:45
Piet
Hallo ralf + Nepumuk
@ Nepumuk - ich habe versucht deinen Vorschlag in den Array Code einzubauen, klappt leider nicht!
@ ralf - wies mich darauf hin, das der erste Code offenbar mit Shell laeuft, der zweite Code mit FSO!
Ich bin mir über den genauen Unterschied noch nicht im klaren? Wie müsste die Set für FSO lauten?
Hier mal der SearchFiles Teil aus dem Array Code wo meine Set Versuche nicht funktionieren.
Es geht um Laufzeit und Bitrate für mp3, mp4 etc., oder um Bildgrösse bei Bildern.
Frage zu Array:
Das Array hat 7 Spalten, das klappt einwandfrei wenn ich Laufzeit und Bitrate durch Text ersetze. Versuche ich bei Redim ReDim Preserve strList(0 To 6, lngCount) und Resize eine 8 Spalte oder mehr für Bildformat einzubauen erscheint immer #NVA ab der 8. Spalte. Sind Arrays in der maximalen Anzahl der Spalten begrenzt?
Mir fiel noch ein Effelt auf. Stimmt die Set Anweisung nicht ist das gesamte Array leer, es zeigt mir nur die Ordner an, ohne Daten!
Es gbit aber auch keinen Laufzeitfehler und keine Fehlermeldung in Zelle [c3]
mfg Piet
  • 
    Private Sub SearchFiles(strFolder As String, strFileName As String)
    Dim objFolder As Object, objFile As Object, Txt As String
    Dim objFSO As Object, objFolderItem As Object, y As Long
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Application.ScreenUpdating = False
    On Error GoTo Fehler
    For Each objFile In objFSO.getfolder(strFolder).Files
    '** diese Set Anweisung klappt nicht !!
    '       Set objFolder = objShell.Namespace(CVar(subfld.Path))  Nepumuk
    Set objFolderItem = objFSO.ParseName(objFolder)
    If objFile.Name Like strFileName Then
    ReDim Preserve strList(0 To 6, lngCount)
    strList(1, lngCount) = objFile.Name
    strList(3, lngCount) = objFile.Size
    strList(4, lngCount) = objFile.datelastaccessed
    strList(2, lngCount) = Mid(objFile, InStrRev(objFile, ".") + 1)
    Txt = LCase(strList(2, lngCount))
    If Left(Txt, 1) = "m" Or Left(Txt, 2) = "wm" Then
    '  strList(5, lngCount) = objFSO.GetDetailsOf(objFolderItem, 21)  '31   Bildformat
    '  strList(6, lngCount) = objFSO.GetDetailsOf(objFolderItem, 22)  '31   Bildformat
    strList(5, lngCount) = "Zeit"
    strList(6, lngCount) = "Kb/s"
    End If
    lngCount = lngCount + 1:  f = f + 1
    End If
    Next
    no: '1. Ordner auflisten
    If o = 0 Then
    On Error Resume Next
    strList(0, 0) = lngCount & " Files"
    strList(1, 0) = strFolder   'Ordnername
    strList(3, 0) = objFSO.getfolder(strFolder).Size
    strList(4, 0) = objFSO.getfolder(strFolder).datecreated
    strOrd(0, 0) = objFSO.getfolder(strFolder).Files.Count
    strOrd(1, 0) = strFolder
    End If
    For Each objFolder In objFSO.getfolder(strFolder).subfolders
    If InStr(objFolder, "RECYCLE") Then GoTo nx
    If InStr(objFolder, "System Volume") Then GoTo nx
    'Application.StatusBar = lngCount & "  " & objFolder.Name
    ReDim Preserve strOrd(0 To 2, lngOrd + 1)
    strOrd(0, lngOrd) = objFSO.getfolder(objFolder).Files.Count
    strOrd(1, lngOrd) = objFolder: lngOrd = lngOrd + 1
    ReDim Preserve strList(0 To 6, lngCount)
    strList(0, lngCount) = Empty
    lngCount = lngCount + 1
    ReDim Preserve strList(0 To 6, lngCount)
    strList(1, lngCount) = objFolder.Name
    strList(3, lngCount) = objFolder.Size
    strList(4, lngCount) = objFolder.datecreated
    strList(0, lngCount) = objFolder.Files.Count & " Files"
    lngCount = lngCount + 1:  o = o + 1
    SearchFiles strFolder & "\" & objFolder.Name, strFileName
    nx:     [a1].Value = f:  [a2].Value = o
    Next
    Application.StatusBar = Empty
    Exit Sub
    Fehler:  'Fehlermeldung ausgeben
    fe = fe + 1: [c3] = fe & "  Array Fehler": Resume Next
    End Sub
    

  • Anzeige
    AW: Set für GetDeteilsOf klappt nicht
    15.01.2023 10:01:21
    Nepumuk
    Hallo Piet,
    da wird ein Variant erwartet. Also:
    
    Set objFolder = objShell.Namespace(CVar(subfld.Path))
    
    Gruß
    Nepumuk
    AW: Set für GetDeteilsOf klappt nicht
    16.01.2023 19:09:52
    Firmus
    Hi Piet,
    nimm doch mal das ON ERROR GOTO FEHLER kurz vor deiner fehlerhaften Instruktion raus.
    Bei sprang er gerade auf FEHLER.
    ON ERROR rausgenommen (...GOTO 0 gesetzt), schon sagt er mir, dass er den Pfad nicht gefunden hat.
    Welcher Fehler bei dir dann auftritt kann ich natürlich nicht sagen. Ein nächster Schritt wäre es doch?
    Gruß,
    Firmus
    AW: geschlossen oWt
    18.01.2023 15:32:11
    Piet
    ...

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige