次の方法で共有


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]

型: 整数

メソッドのオプションを含む 整数値 。 これには、0 または BROWSEINFO 構造体の ulFlags メンバーの下にリストされている値の組み合わせを指定できます。

vRootFolder [in, optional]

型: Variant

ダイアログ ボックスで使用するルート フォルダー。 ユーザーは、このフォルダーより高いツリー内を参照できません。 この値を指定しない場合、ダイアログ ボックスで使用されるルート フォルダーはデスクトップです。 この値には、フォルダーのパスを指定する文字列、または ShellSpecialFolderConstants 値の 1 つを指定できます。 ShellSpecialFolderConstants で見つかった定数名は Visual Basic では使用できますが、VBScript や JScript では使用できません。 このような場合は、その代わりに数値を使用する必要があります。

戻り値

JScript

種類: FOLDER**

選択したフォルダーの Folder オブジェクトへのオブジェクト参照。

VB

種類: FOLDER**

選択したフォルダーの Folder オブジェクトへのオブジェクト参照。

解説

このメソッドは、 Shell.BrowseForFolder メソッドを使用して実装され、アクセスされます。

次の例では 、BrowseForFolder を 使用して、Windows フォルダーにルート化された "Example" というタイトルの参照ウィンドウを表示します。 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 以降)