Поделиться через


Метод Shell.BrowseForFolder

Создает диалоговое окно, позволяющее пользователю выбрать папку, а затем возвращает объект Folder выбранной папки.

Синтаксис

retVal = Shell.BrowseForFolder(
  Hwnd,
  sTitle,
  iOptions,
  [ vRootFolder ]
)

Shell.BrowseForFolder( _
  ByVal Hwnd As Integer, _
  ByVal sTitle As BSTR, _
  ByVal iOptions As Integer, _
  [ ByVal vRootFolder As Variant ] _
) As FOLDER

Параметры

Hwnd [in]

Тип: Целое число

Дескриптор родительского окна диалогового окна. Это значение может быть равно 0.

sTitle [in]

Тип: BSTR

Строковое значение, представляющее заголовок, отображаемый в диалоговом окне Обзор.

iOptions [вход]

Тип: Целое число

Целочисленное значение, содержащее параметры метода . Это может быть ноль или сочетание значений, перечисленных в элементе ulFlags структуры BROWSEINFO .

vRootFolder [in, необязательный]

Тип: Variant

Корневая папка, используемая в диалоговом окне. Пользователь не может выполнить поиск выше в дереве, чем эта папка. Если это значение не указано, корневая папка, используемая в диалоговом окне, — это рабочий стол. Это может быть строка, указывающая путь к папке или одно из значений ShellSpecialFolderConstants . Обратите внимание, что имена констант, найденные в ShellSpecialFolderConstants , доступны в Visual Basic, но не в VBScript или JScript. В таких случаях вместо них необходимо использовать числовые значения.

Возвращаемое значение

Язык JScript

Тип: FOLDER**

Ссылка на объект Folder выбранной папки.

VB

Тип: FOLDER**

Ссылка на объект Folder выбранной папки.

Примеры

В следующем примере используется BrowseForFolder для отображения окна обзора с именем "Example" с корнем в папке Windows. Для JScript, VBScript и Visual Basic отображается правильное использование.

Jscript:

<script language="JScript">
    function fnShellBrowseForFolderJ()
    {
        var objShell = new ActiveXObject("shell.application");
        var ssfWINDOWS = 36;
        var objFolder;
        
        objFolder = objShell.BrowseForFolder(0, "Example", 0, ssfWINDOWS);
        if (objFolder != null)
        {
            // Add code here.
        }
    }
</script>

Vbscript:

<script language="VBScript">
    function fnShellBrowseForFolderVB()
        dim objShell
        dim ssfWINDOWS
        dim objFolder
        
        ssfWINDOWS = 36
        set objShell = CreateObject("shell.application")
            set objFolder = objShell.BrowseForFolder(0, "Example", 0, ssfWINDOWS)
                if (not objFolder is nothing) then
                    'Add code here.
                end if
            set objFolder = nothing
        set objShell = nothing
    end function
 </script>

Visual Basic:

Private Sub fnShellBrowseForFolderVB()
    Dim objShell   As Shell
    Dim ssfWINDOWS As Long
    Dim objFolder  As Folder
    
    ssfWINDOWS = 36
    Set objShell = New Shell
        Set objFolder = objShell.BrowseForFolder(0, "Example", 0, ssfWINDOWS)
            If (Not objFolder Is Nothing) Then
                'Add code here
            End If
        Set objFolder = Nothing
    Set objShell = Nothing
End Sub

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Shldisp.h
IDL
Shldisp.idl
DLL
Shell32.dll (версия 4.71 или более поздняя)