Диалог Select Folder

Программирование на Visual Basic for Applications
Avtopic
Постоялец
Постоялец
 
Сообщения: 442
Зарегистрирован: 30.09.2005 (Пт) 17:15
Откуда: Tbilisi

Диалог Select Folder

Сообщение Avtopic » 28.06.2006 (Ср) 13:14

Здравствуйте!

В коде задаю папку, где находятся нужные файлы,
Использую 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”.
Спасибо заранее!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 28.06.2006 (Ср) 13:17

А пробовал ли ты поискать по слову "SHBrowseForFolder"? Почему нет?
Lasciate ogni speranza, voi ch'entrate.

Avtopic
Постоялец
Постоялец
 
Сообщения: 442
Зарегистрирован: 30.09.2005 (Пт) 17:15
Откуда: Tbilisi

Сообщение Avtopic » 28.06.2006 (Ср) 15:35

:oops: Я уже и не помню, что искал и что нет...
Уберите, если можно, этот позорный топик
Спасибо!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 43

    TopList