Share via


IShellDispatch.BrowseForFolder 方法

建立對話方塊,讓使用者能夠選取資料夾,然後傳回所選資料夾的 Folder 物件。

語法

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

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

參數

Hwnd [in]

類型: 整數

對話方塊之父視窗的控制碼。 此值可以是零。

sTitle [in]

類型: BSTR

String值,表示顯示在 [流覽] 對話方塊中的標題。

iOptions [in]

類型: 整數

包含 方法選項的 Integer 值。 這可以是零或URL 結構ulFlags成員底下所列的值組合。

vRootFolder [in, optional]

類型: Variant

要用於對話方塊中的根資料夾。 使用者無法在樹狀結構中流覽高於此資料夾。 如果未指定此值,對話方塊中所使用的根資料夾就是桌面。 這個值可以是字串,指定資料夾的路徑或其中一個 ShellSpecialFolderConstants 值。 請注意, ShellSpecialFolderConstants 中找到的常數名稱可在 Visual Basic 中使用,但不適用於 VBScript 或 JScript。 在這些情況下,數值必須用於其位置。

傳回值

JScript

類型: FOLDER**

所選取 資料夾 Folder 物件的 物件參考。

VB

類型: FOLDER**

所選取 資料夾 Folder 物件的 物件參考。

備註

此方法是透過 Shell.BrowseForFolder 方法實作和存取。

範例

下列範例會使用 BrowseForFolder 來顯示標題為 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 專業版、Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Shldisp.h
Idl
Shldisp.idl
DLL
Shell32.dll (4.71 版或更新版本)