SubFolderaufruf in VBA
slayer5612 27.02.2004 - 15:12 894 20
slayer5612
Big d00d
|
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
|
mat
AdministratorLegends never die
|
FileSystemObject -> GetFolder(szPath) -> GetSubFolders()
wenn du willst kannst du auch source haben..
edit: tut mir leid, verschrieben.. SubFolders() heisst die funktion
|
slayer5612
Big d00d
|
ja den source würd ich gern auch haben! danke!
mfg
Godded
|
mat
AdministratorLegends never die
|
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?  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
|
slayer5612
Big d00d
|
hehe - ja das mim verzeichnis hats scho erwähnt! Danke ich schau mal,dass ich das umsetzen kann bei mir!
many thx!
mfg
Slayer5612
|
slayer5612
Big d00d
|
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
|
Bimminger
christoph-bimminger.at
|
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.
|
mat
AdministratorLegends never die
|
welches vba und wie heisst die fehlermeldung?
|
slayer5612
Big d00d
|
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
|
mat
AdministratorLegends never die
|
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.
|
slayer5612
Big d00d
|
ja - wie rufst du das auf? ich hab einfach zum Testen einen Button gemacht und dem die prozedur lala reingeschrieben...
mfg
slayer55612
|
Bimminger
christoph-bimminger.at
|
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.
|
slayer5612
Big d00d
|
juhuuu
|
slayer5612
Big d00d
|
es geht !!! *FREU*!!
Danke mann!! Oh bin ich glücklich!!*hehe*! Danke noch mal!Echt nett von dir!
mfg
Slayer5612
|
slayer5612
Big d00d
|
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
|