none
VBS 如何使BrowseForFolder在打开时指定选中的文件夹且显示以桌面为根目录的顺序 RRS feed

  • 问题

  • function SelectFolder()
    
     Const MY_COMPUTER = &H11&
    
     Const WINDOW_HANDLE = &H0
    
     Const OPTIONS = 0
     Const BIF_returnonlyfsdirs = &H0001 
     Const BIF_editbox= &H0010 
    
     Set objShell = CreateObject("Shell.Application")
    
     Set objFolder = objShell.Namespace(MY_COMPUTER)
    
     Set objFolderItem = objFolder.Self
    
     strPath = objFolderItem.Path
    
     Set objShell = CreateObject("Shell.Application")
    
     Set objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, "",NO_OPTIONS,"d:\")
    
     objFolder.Self.path="C:\"
    
     Set objFolderItem = objFolder.Self
    
     objPath = objFolderItem.Path
     init_save_path=objPath
    
     SelectFolder=objPath
    
    end function
    SelectFolder()
    wscript.sleep("5000")
    VBS 如何使BrowseForFolder在打开时指定选中的文件夹且显示以桌面为根目录的顺序
    

    使用上面方法的时候 根目录只能定向到d盘

    如果使用这句代码Set objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, "",NO_OPTIONS)
    那么根目录就是 桌面,但是却不能指定选中的默认路径

    真是很矛盾 我想2者都有

    请问应该如何写代码? 

     

    2010年9月14日 10:02

答案

全部回复

  • 期待您的帮助!

    2010年9月14日 11:28
  • 否则  有其它不用组件的办法吗?

    可以浏览并选择文件夹,而每次选择的时候可以打开指定的文件夹。

    2010年9月15日 1:21
  • 最后一个参数vRootFolder 设为ssfDESKTOP = 0x00 http://msdn.microsoft.com/en-us/library/bb774065(VS.85).aspx http://msdn.microsoft.com/en-us/library/bb774096(v=VS.85).aspx
    http://feiyun0112.cnblogs.com/
    2010年9月15日 1:30
    版主
  • Syntax
    CopyretVal = Shell.BrowseForFolder(
     Hwnd,
     sTitle,
     iOptions,
     [ vRootFolder ]
    )
    
    
    vRootFolder [in, optional]
    Variant
    The root folder to use in the dialog box. The user cannot browse higher in the tree than this folder. If this value is not specified, the root folder used in the dialog box is the desktop. This value can be a string that specifies the path of the folder or one of the ShellSpecialFolderConstants values. Note that the constant names found in ShellSpecialFolderConstants are available in Visual Basic, but not in VBScript or JScript. In those cases, the numeric values must be used in their place.
    
    
    

    thank you first.

    but please see the parameter “vRootFolder”,it wiill be the root folder.

    if i  set it's value is "c:\",that's meaning i can not select other folder. e.g."D:\".

     

    2010年9月15日 1:51