URL: https://www.overclockers.at/coding-stuff/subfolderaufruf_in_vba_108243/page_1 - zur Vollversion wechseln!
Hallo Leut!
Ich hätt da mal a Frage an euch:
Ich hab eine Prozedur, die mich Ordner auswählen lässt, ich will aber, wenn ich einen Ordner auswähle,dass er mir die SubFolder die da eventl. vorhanden sind, auch miteinbezieht - brauch ich dann für andere sachen....*hehe*!
Ich wäre happy,wenn jemand eine Idee hätte, oder wenn jemand Zeit hat eventl auch ein Code Beispiel zeigt!
mfg
Slayer5612
FileSystemObject -> GetFolder(szPath) -> GetSubFolders()
wenn du willst kannst du auch source haben..
edit: tut mir leid, verschrieben.. SubFolders() heisst die funktion
ja den source würd ich gern auch haben!
danke!
mfg
Godded
der code geht ein verzeichnis (mit allen unterverzeichnissen) durch und ermittelt die anzahl der unterverzeichnisse aller unterverzeichnisse in dem angegebenen verzeichnis. hab ich verzeichnis schon gesagt?
Code:Function GetSubFolderCount(folderCur) As Integer On Error GoTo ExitWithZero Dim nFolders As Integer Set folderSubs = folderCur.SubFolders For Each folderSub In folderSubs nFolders = nFolders + GetSubFolderCount(folderSub) + 1 Next GetSubFolderCount = nFolders Exit Function ExitWithZero: GetSubFolderCount = 0 End Function Sub ShowFolderInfo(szPath As String) Dim objFS As Object, _ szOutput As String, _ nSubFolders As Integer Set objFS = CreateObject("Scripting.FileSystemObject") Set folderRoot = objFS.GetFolder(szPath) Set folderSubs = folderRoot.SubFolders For Each folderSub In folderSubs nSubFolders = GetSubFolderCount(folderSub) szOutput = szOutput & folderSub.Name & " (" & nSubFolders & ")" & vbCrLf Next MsgBox szOutput End Sub Sub Lala() ShowFolderInfo "C:\Downloads\" End Sub
hehe - ja das mim verzeichnis hats scho erwähnt!
Danke ich schau mal,dass ich das umsetzen kann bei mir!
many thx!
mfg
Slayer5612
du sorry,wenn ich wieder nerve aber der hat mir in den Zeilen ein problem...
Set objFS = CreateObject("Scripting.FileSystemObject")
HIER-->> Set folderRoot = objFS.GetFolder(szPath)
Set folderSubs = folderRoot.SubFolders
Da passt erm was nicht und ich komm einfach nicht drauf
wär dankbar,wennst ma da weiterhelfen könntest -wir stehen ja kurz vom Ziel hehe
mfg
Slayer5612
hmmm welche fehlermeldung?
probier mal _für jeden dreck_ die variable mit datentyp anzulegen...
erzwingst mit "Option Explicit" in der erstn zeile des Moduls
und dann in der jeweiligen Funktion einfach "Private varName as Datentyp" bzw. Dim varName as Datentyp". vielleicht is das auch ein weg, den Fehler leichter zu finden.
welches vba und wie heisst die fehlermeldung?
VBA Acces 2003 und die Fehlermeldung heisst LaufZeitfehler 76 Pfad nicht gefunden - hab aber auf D:\Downloads einen Folder, falls das damit der gemeint ist
habs jetzt ebenfalls auf vba access 2003 probiert.. funktioniert. diese fehlermeldung bekomme ich wenn ich einen nicht vorhandenen ordner angebe. überprüf das lieber noch einmal.
ja - wie rufst du das auf?
ich hab einfach zum Testen einen Button gemacht und dem die prozedur lala reingeschrieben...
mfg
slayer55612
hmm setz an breakpoint und schau mit der schnellüberwachung den wert in szPath an - dann siehst welchen Pfad er da verwendet (eine Zeile vor der wo der Fehler auftritt...)
oder schmeiß einfach ein MsgBox(szPath) rein dann müsstern auch ausgeben.
juhuuu
es geht !!! *FREU*!!
Danke mann!!
Oh bin ich glücklich!!*hehe*!
Danke noch mal!Echt nett von dir!
mfg
Slayer5612
eine Frage hab ich aber noch:
was machst das sz vor den Variablen - hat das eine Vordefinierte Aufgabe oder ist das nur so?
mfg
Slayer5612
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025