AW: Defekte Dateiinformationen
19.03.2008 11:53:00
stoney
Auf die 3 verlinkten Seiten war ich auch schon gestossen, allerdings hatte ich meinen Fehler dort nicht gefunden. Hatte auch genau von den beiden Seiten die DSOFile, also Version 1.4 und 2.1 und bei beiden ist das Problem aufgetreten. Ist aber ja auch eigentlich mehr ein Problem der auszulesenden Datei, da dort die Dateieigenschaften defekt sind.
Naja, aber habe jetzt für mich die Lösung gefunden, einfach die benutzerdefinierten Eigenschaften zu nutzen.
Allerdings bin ich nun auf ein ganz anderes Problem gestossen und zwar bei der Suche nach xls-Dateien.
Habe gerade mal folgenden Code probiert
Sub Dateiname_Hyperlink()
'* 07.10.04, 31.07.05; 02.08.05 *
'* erstellt von Ramses Rainer *
'* Anpassungen von Hajo *
'* http://home.media-n.de/ziplies/ *
Dim StDateiname As String
Dim Dateiform As String
Dim InI As Long, TotFiles As Long
Dim Suchpfad As String
Dim OldStatus As Variant
Suchpfad = InputBox("Geben Sie den Ordner an, der durchsucht werden soll.", "Pfad _
definieren", Application.DefaultFilePath)
If Suchpfad = "" Then Exit Sub
Dateiform = InputBox("Geben Sie den Dateityp an der gesucht werden soll", "Dateierweiterung" _
, "*.xls")
If Dateiform = "" Then Exit Sub
Application.ScreenUpdating = True
OldStatus = Application.StatusBar
' neue Tabelle anlegen
Sheets.Add After:=Worksheets(Worksheets.Count)
With Application.FileSearch
.LookIn = Suchpfad ' Suchverzeichnis
.SearchSubFolders = True ' suchen auch in Unterverzeichnis
.Filename = Dateiform
If .Execute() > 0 Then
TotFiles = .FoundFiles.Count
Application.StatusBar = "Total " & TotFiles & " gefunden"
For InI = 1 To .FoundFiles.Count
Application.StatusBar = "Datei: " & InI & " von " & TotFiles
' ergänzt Hyperlink, Dateigröße und Dateidatum
' Dateiname abtrennen für alle Versionen unte Xp
' For InI = Len(.FoundFiles(InI)) To 1 Step -1
' If Mid(.FoundFiles(InI), InI, 1) = "\" Then
' StDateiname = Mid(.FoundFiles(InI), InI + 1, Len(.FoundFiles(InI)) - _
InI + 2)
' Exit For
' End If
' Next InI
' Dateiname abtrennen ab XP
StDateiname = Mid(.FoundFiles(InI), InStrRev(.FoundFiles(InI), "\") + 1)
ActiveSheet.Hyperlinks.Add Anchor:=Cells(InI, 1), _
Address:=.FoundFiles(InI), TextToDisplay:=StDateiname ' Hyperlink
Cells(InI, 2) = FileLen(.FoundFiles(InI)) ' Dateigröße
Cells(InI, 3) = FileDateTime(.FoundFiles(InI)) ' Dateidatum
Next InI
End If
End With
Application.StatusBar = OldStatus
Application.ScreenUpdating = True
End Sub
Läuft alles ohne Fehlermeldung durch, allerdings hat ein Vergleich mit der Windowssuche eine Differrenz von über 100% ergeben.
Suche ich mit dem Script in "Z:\HauptVZ" werden 7.645 xls-Dateien gefunden (Windowssuche 16.606). Das HauptVZ hat 28 UnterVZs mit weiteren Unterordnern. Suche ich nun mit dem Script alle 28 UnterVZs einzeln durch komme ich für alle Verzeichnisse auf 15.403 gefundene xls-Dateien. Die Differen von 1203 Dateien zur Windowssuche erkläre ich mir erstmal dadurch, dass die Windowssuche zip-Dateien also Ordner behandelt und auch diese durchsucht.
Es sieht fast so aus, als wenn das Script bei der Suche in "Z:\HauptVZ" nach dem 18. Unterverzeichnis aufhört. In "Z:\HauptVZ" befinden sich ca. 300.000 Dateien in 20.000 Ordnern.
Ist jemand vielleicht schon eimal auf ein ähnliches Problem gestossen oder hat einen Lösungsansatz?
Gruß von der Küste
stoney