Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
980to984
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
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ordnernamen und inhalt zaehlen

Ordnernamen und inhalt zaehlen
04.06.2008 17:01:00
hary
Schoenen Tag alle miteinander
Habe im Archiv ein Makro gefunden mit dem man Ordnernamen ausliest und auflistet. Nun moechte ich aber, dass zusaetzlich die Dateien in dem Ordner gezaehlt werden.
Eingabe ueber eine UserForm habe ich schon, mir gehts nur um die Zaehlerei.
Soll so aussehen: Ordnername & (Anzahl der Dateien)

Sub ordner()
Dim fs, f, f1, fc, s, Zei As Long
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("c:\")
For Each f1 In f.SubFolders
Zei = Zei + 1
Cells(Zei, 1) = f1.Name
Next
End Sub


Gruss Hary

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordnernamen und inhalt zaehlen
04.06.2008 17:06:00
Renee
Hi Hary,
Mit dieser Funktion, kriegst du die Anzahl Dateien oder die Anzahl Unterordner.
Parameter 1: True Dateien zählen False Verzeichnisse zählen
Parameter 2: Verzeichnis in dem gestartet wird, default ist Verzeichnis des Workbooks
Parameter 3: True Unterverzeichnisse einbeziehen False ohne Unterverzeichnisse

Public Function getFilesCnt(Optional bFilesCount As Boolean = True, _
Optional vStartFolder As Variant = "", _
Optional bSubFolders As Boolean = False) As Long
Dim objFS As Object
Dim vFolders As Variant
Dim vSubFolders As Variant
Dim vFolder As Variant
Dim vFiles As Variant
Dim lSubFCount As Long
Dim lFilesCount As Long
On Error Resume Next
Set objFS = CreateObject("Scripting.FileSystemObject")
If vStartFolder = "" Then vStartFolder = ActiveWorkbook.Path
Set vFolders = objFS.GetFolder(vStartFolder)
Set vSubFolders = vFolders.SubFolders
If bFilesCount Then lFilesCount = vFolders.Files.Count
For Each vFolder In vSubFolders
lSubFCount = lSubFCount + 1 + _
IIf(bSubFolders, getFilesCnt(False, vStartFolder & "\" & vFolder.Name, bSubFolders), 0)
If bFilesCount Then
lFilesCount = lFilesCount + _
getFilesCnt(True, vStartFolder & "\" & vFolder.Name,  bSubFolders)
End If
Next
getFilesCnt = IIf(bFilesCount, lFilesCount, lSubFCount)
End Function


GreetZ Renée

Anzeige
AW: @Renee
04.06.2008 17:56:00
hary
Hallo Renee
erstmal Danke.
Funktioniert klasse. Mir fehlt aber der Ordner Name. Mit dem anderen Makro werden die Ordnernamen(fl.Name) in Spalte A aufgelistet. Ich wollte ich das evtl. die Zaehlerei mit eingebaut wird.
Also so: flName & Zahl der Dateien im Ordner.
Wenn's mein Bilder Ordner waere z.B.: München (95)
Berlin (45)
Gruss
Hary
Zur Not wenns nicht ginge, bringe ich die Spalten zusammen

Kombiniere...
04.06.2008 19:28:00
Renee
doch die beiden Makros, Hary
In die Spalte (z.b.ab B2) rechts neben der Auflistung der Ordnernamen (z.B. in C2)

=getFilesCnt(Wahr;B2)
oder ggf.:
=getFilesCnt(Wahr;"Mein\Hauptordner\Nebenordner\"&B2)


GreetZ Renée

Anzeige
AW: so aehnlich Renee
04.06.2008 19:34:21
hary
Habe es jetzt so geregelt

=A2&" ("&getFilesCnt("True";"C:/Bilder experiment/hdr/"&A2;"True")&")"


Danke Renee

Bitte keine strings, als Wahrheitswerte..
04.06.2008 19:50:00
Renee
Hary,
Richtig(er):

=A2&" ("&getFilesCnt(Wahr;"C:/Bilder experiment/hdr/"&A2;Wahr)&")"


Wobei in diesem Fall auch die Dateien der Unterordner mitgezählt werden.
GreetZ Renée

AW:alles klar
04.06.2008 20:00:00
hary
Danke Renee

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige