Hur skriver man för att användaren ska kunna ange en sökväg? Han ska alltså inte behöva klicka på någon fil... Hej, du menar en "bläddra"-knapp till en mapp? Jag gör en egen sådan: Klistra in nedanstående i en modulVälj mapp (sökväg) med CommonDialog?
Svara gärna med en kod-snutt!
Tack på förhand /berneSv: Välj mapp (sökväg) med CommonDialog?
skapa ett formulär (form2) med en Dirlistbox och en Drivelistbox + en command-knapp.
form1 innehåller en text1 + en command1(bläddraknappen)
<code>
private sub form_load()
dir1=drive1' kopplar ihop listboxarna
end sub
private sub command1_click()
Form1.text1 = Dir1
end sub
</code>
Sen får du skriva i lite kod för att få det snyggare mm.
du kallar på form2 med "form2.show" från form1´s bläddraknapp
Jag har aldrig lyckats me detta från en commondialog.
/BSv: Välj mapp (sökväg) med CommonDialog?
Det är en CommonDialog wrapper för att välja "sökväg"
<code>
Option Explicit
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const BIF_DONTGOBELOWDOMAIN = 2
Private Const MAX_PATH = 260
Public Function GetPath() As String
Dim lpIDList As Long
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo
szTitle = "Choose Path"
With tBrowseInfo
.hWndOwner = 0
.lpszTitle = lstrcat(szTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
End If
GetPath = sBuffer
End Function
'Exempel
'MsgBox GetPath
</code>
Hoppas detta löser ditt problem
Ha en bra dag
Knoton