Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Image
BildScreenshot zu Image Image-Seite mit Beispielarbeitsmappe aufrufen

Datei/Textdatei/Grösse auslesen

Betrifft: Datei/Textdatei/Grösse auslesen von: Karl-Otto Reimann
Geschrieben am: 01.09.2004 22:20:36

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

  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: th.heinrich
Geschrieben am: 01.09.2004 22:49:03

hallo KO,

in diesem thread wird ein TOOL erwaehnt, vielleicht hilft es Dir weiter.

https://www.herber.de/forum/archiv/476to480/t478786.htm

gruss thomas


  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: Karl-Otto Reimann
Geschrieben am: 01.09.2004 22:56:41

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


  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: Ramses
Geschrieben am: 01.09.2004 23:00:25

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


  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: Karl-Otto Reimann
Geschrieben am: 01.09.2004 23:16:37

Hallo Rainer
Die "Function" macht bitte wann was?
Gruß
KO


  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: Ramses
Geschrieben am: 01.09.2004 23:20:19

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


  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: Karl-Otto Reimann
Geschrieben am: 01.09.2004 23:33:10

Und das Ganze, um mit dieser Kryptik die Dateigröße auszulesen?
Nee, danke.


  


Betrifft: hatte das TOOL nicht getestet ot. von: th.heinrich
Geschrieben am: 01.09.2004 23:05:03




  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: K.Rola
Geschrieben am: 01.09.2004 23:52:52

Hallo,

sollen auch Unterordner durchsucht werden?

Gruß K.Rola


  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: Karl-Otto-Reiman
Geschrieben am: 02.09.2004 00:05:03

Hi K
Ne, eigentlich nich, nur .txt-Ordner
Greets
KO


  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: K.Rola
Geschrieben am: 02.09.2004 00:44:23

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


  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: Katl-Otto Reimann
Geschrieben am: 03.09.2004 09:55:11

Hi K
Konnte leider nicht früher "danke" sagen.
Gruß
KO


  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: Werner Oertli
Geschrieben am: 02.09.2004 07:48:51

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


  


Betrifft: AW: Datei/Textdatei/Grösse auslesen von: Karl-Otto Reimann
Geschrieben am: 03.09.2004 09:56:48

Hallo Werner
Auch Dir herzlichen Dank.
Beide Beispiele laufen einwandfrei.
Gruß
KO


 

Beiträge aus den Excel-Beispielen zum Thema "Datei/Textdatei/Grösse auslesen"