В коде задаю папку, где находятся нужные файлы,
Использую SHBrowseForFolder и SHGetPathFromIDList
На всякий случай приважу код:
- Код: Выделить всё
Function GetFolderName() As String
Dim bInfo As BrowseInfo, Path As String, r As Long
Dim X As Long
Dim Ph As Variant
Dim fs As FileSearch
Dim i As Integer
Const BIF_NEWDIALOGSTYLE = 64
Const BIF_NONEWFOLDERBUTTON As Long = &H200
GetFolderName = "No_Folder"
bInfo.hOwner = hForm
bInfo.pidlRoot = 0& ' Root folder = Desktop
bInfo.lpszTitle = "Select a folder."
bInfo.ulFlags = BIF_NEWDIALOGSTYLE Or BIF_NONEWFOLDERBUTTON
X = SHBrowseForFolder(bInfo) ' display the diaog
Path = Space$(512)
r = SHGetPathFromIDList(ByVal X, ByVal Path)
Ph = Left(Path, InStr(Path, Chr$(0)) - 1) & Application.PathSeparator
If r = 0 And X <> 0 Then
MsgBox("Not valid location!", vbCritical, "!!!")
Exit Function
End If
If r Then GetFolderName = Ph
End Function
У меня такой вопрос:
1. Как можно задать bInfo.pidlRoot начальную папку, кроме Desktop и My Documents мне не удается задать другие папки (собственные).
2. Как можно организовать, чтобы выбор папки осуществлялся при двойном клике на нужную папку в окне "SHBrowseForFolder”.
Спасибо заранее!