Anzeige
Archiv - Navigation
476to480
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
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei/Textdatei/Grösse auslesen

Datei/Textdatei/Grösse auslesen
01.09.2004 22:20:36
Karl-Otto
Einen schönen guten Abend an die Forumsteilnehmer
Ich such' mir einen Wolf, um in ein Tabellenblatt die Dateigröße von Textdateien
eines Ordners auszulesen.
Hat jemand eine befriedigend schnell laufende Lösung dafür?
Viele Grüße
KO
AW: Datei/Textdatei/Grösse auslesen
Karl-Otto
Hallo Thomas
Ja klar, alles zusammen 103 Dateien, 1,15 MB,
das ist ja der Witz, führt mich aber nicht weiter.
Ich brauch die Größe jeder Datei (die ändert sich ständig, und demendsprechend
auch die Verknüpfung, die nur mit exakter Größe funktioniert)
Gruß
KO
AW: Datei/Textdatei/Grösse auslesen
Ramses
Hallo
probier mal diese Variante
Option Explicit

Sub CollectFileData()
Dim SVerz As String, fExt As String
Dim fName As String
SVerz = "C:\Temp\"
fExt = "*.xls"
fName = Dir(SVerz & fExt)
Debug.Print Dir(SVerz & fExt)
Do Until fName = ""
ReadFileSize SVerz, fName
fName = Dir()
Loop
End Sub


Function ReadFileSize(getfolder As String, getFile As String)
Dim FSO As Object
Dim FSO_Fol As Object
Dim FSO_File As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FSO_Fol = FSO.getfolder(getfolder)
Set FSO_File = FSO_Fol.Files
Cells(Range("A65536").End(xlUp).Row + 1, 1) = FSO_Fol.Size & " bytes."
End Function

Gruss Rainer
Anzeige
AW: Datei/Textdatei/Grösse auslesen
Karl-Otto
Hallo Rainer
Die "Function" macht bitte wann was?
Gruß
KO
AW: Datei/Textdatei/Grösse auslesen
Ramses
Hallo
Die Funktion mach Schrott :-(
Vergiss Sie am besten. Die Version von Bert ist wesentlich schneller und funktioniert.
... ausserdem bin ich jetzt müde :-))
Gruss Rainer
AW: Datei/Textdatei/Grösse auslesen
Karl-Otto
Und das Ganze, um mit dieser Kryptik die Dateigröße auszulesen?
Nee, danke.
hatte das TOOL nicht getestet ot.
th.heinrich
AW: Datei/Textdatei/Grösse auslesen
K.Rola
Hallo,
sollen auch Unterordner durchsucht werden?
Gruß K.Rola
AW: Datei/Textdatei/Grösse auslesen
Karl-Otto-Reiman
Hi K
Ne, eigentlich nich, nur .txt-Ordner
Greets
KO
AW: Datei/Textdatei/Grösse auslesen
K.Rola
Hallo,
na ja, einem Ordner sieht man es ja nicht an, welche Art Dateien er enthält.
Also dann mit Wahlmöglichkeit:
Option Explicit
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BInfo) As Long
Private Declare Function CoTaskMemFree Lib "ole32" (ByVal hMem As Long) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpStr1 As String, ByVal lpStr2 As String) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pList As Long, ByVal lpBuffer As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassname As String, ByVal lpWindowName As String) As Long
Private Type BInfo
hwnd As Long
Root As Long
DisplayName As Long
Title As Long
Flags As Long
FName As Long
lParam As Long
Image As Long
End Type

Private Function GetFolder() As String
Dim xl As BInfo, IDList As Long, RetVal As Long, FolderName As String
With xl
.hwnd = FindWindow("xlmain", vbNullString)
.Title = lstrcat("Verzeichnis wählen...", "")
.Flags = 1
End With
IDList = SHBrowseForFolder(xl)
If IDList <> 0 Then
FolderName = Space(256)
RetVal = SHGetPathFromIDList(IDList, FolderName)
CoTaskMemFree (IDList)
FolderName = Trim$(FolderName)
FolderName = Left(FolderName, Len(FolderName) - 1)
End If
GetFolder = FolderName
End Function

Sub Dateien_suchen()
Dim Ordner As String, Index As Long, objFSO As Object, objFile As Object
Dim Zeile As Long, Spalte As Integer, bolSubFolder As Boolean, msg As Integer
Ordner = GetFolder
If Ordner "" Then
msg = MsgBox("Sollen auch Unterordner durchsucht werden? ", 36, "wills wissen...")
If msg = 6 Then bolSubFolder = True
Application.ScreenUpdating = False
On Error Resume Next
Cells.Clear
Cells(1, 1) = "Pfad/Dateiname"
Cells(1, 2) = "Byte"
Zeile = 1: Spalte = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
With Application.FileSearch
.LookIn = Ordner
.Filename = "*.txt"
.SearchSubFolders = bolSubFolder
If .Execute > 0 Then
For Index = 1 To .FoundFiles.Count
Set objFile = objFSO.GetFile(.FoundFiles(Index))
If objFile.Size > 0 Then
Zeile = Zeile + 1
If Zeile > 65500 Then Spalte = Spalte + 2
Cells(Zeile, Spalte) = objFile.Path
Cells(Zeile, Spalte + 1) = objFile.Size
End If
Next
End If
End With
For Spalte = 2 To 20
Columns(Spalte).NumberFormat = "#,###,##0"
Next
Columns.AutoFit
Rows(1).Font.Bold = True
Application.ScreenUpdating = True
End If
End Sub
Gruß K.Rola
Anzeige
AW: Datei/Textdatei/Grösse auslesen
Katl-Otto
Hi K
Konnte leider nicht früher "danke" sagen.
Gruß
KO
AW: Datei/Textdatei/Grösse auslesen
02.09.2004 07:48:51
Werner
Grüezi Kar-Otto
Die ursprüngliche Datei stammt von Rainer Ramses.
Vielleicht hilt Dir dies. Zuerst wirst Du nach dem Pfad gefragt, nachher nach der Dateiendung.
https://www.herber.de/bbs/user/10426.xls
Gruss Werner
AW: Datei/Textdatei/Grösse auslesen
Karl-Otto
Hallo Werner
Auch Dir herzlichen Dank.
Beide Beispiele laufen einwandfrei.
Gruß
KO

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige