Hur gör man för att lista mappar i en map i en listbox Vet inte om det är nåt sånt här du är ute efter, men så här kan du i alla fall hämta information om vilka mappar som finns i din sökväg och lägga in dessa i en listbox. <BR> Du kan t ex lägga proceduren i ditt formulär och låta användaren välja vilken mapp som den ska utgå ifrån. Kan lägga ett event på dirlistbox_change t ex som väljer den sökväg som användaren valt och skickar den på detta vis: Dumt med en ifsats. Bätre att bara hoppa äver de två första posterna från dir. För att göra funktionen generell. Bör du oxå skicka kontrollen som den skall fylla som argument: Hur sätter jag en base Dir med en textruta om den innehåller "D:\ex\fil.exe"?Lista mappar
hoppas ni förstår vad jag menarSv: Lista mappar
Mvh <BR>
/EE <BR>
<code>
Sub Folders(ByVal strPath As String)
Dim strNext As String
strNext = Dir(strPath, vbDirectory)
Do While strNext <> ""
' hoppa över överliggande mappar
If strNext <> "." And strNext <> ".." Then
' kontrollera att strNext är en mapp
If (GetAttr(strPath & strNext) And vbDirectory) = vbDirectory Then
' lägg till strNext i listrutan om så är fallet
lstFolders.AddItem strNext
End If
End If
' kontrollera nästa
strNext = Dir
Loop
End Sub
</code>Sv: Lista mappar
<code>
Folders(dirlistbox1.Text)
</code>
Då får du över informationen till din listbox med namnet lstFolders. <BR>
Blev du klokare på det? <BR>
Mvh <BR>
/EESv: Lista mappar
<code>
Sub FillListWithFolders(ListBox as ListBox, ByVal strPath As String)
Dim strNext As String
' Terminerar sökväg
If Right$(strPath, 1) <> "\" Then strPath = strPath & "\"
' Tömmer lista
ListBox.Clear
' hoppa över överliggande mappar
Dir$ strPath, vbDirectory
Dir$
strNext = Dir$
Do While strNext <> ""
' kontrollera att strNext är en mapp
If GetAttr(strPath & strNext) And vbDirectory Then
' lägg till strNext i listrutan om så är fallet
ListBox.AddItem strNext
End If
' kontrollera nästa
strNext = Dir$
Loop
End Sub
</code>
Man bör alltid eftersräva gennerella funktioner och återanvända dem. Sparar man tid på.Sv: Lista mappar