LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

vb选择文件夹

admin
2012年7月20日 14:13 本文热度 3326
'新建一个模块Module,复制如下代码到里面  
Option   Explicit  
   
Declare   Function   SendMessage   Lib   "user32"   Alias   "SendMessageA"   (   _  
          ByVal   hWnd   As   Long,   _  
          ByVal   wMsg   As   Long,   _  
          ByVal   wParam   As   Long,   _  
          ByVal   lParam   As   String)   As   Long  
Declare   Function   SHGetPathFromIDList   Lib   "shell32.dll"   Alias   "SHGetPathFromIDListA"   (   _  
          ByVal   pidl   As   Long,   _  
          ByVal   pszPath   As   String)   As   Long  
Declare   Function   SHBrowseForFolder   Lib   "shell32.dll"   Alias   "SHBrowseForFolderA"   (   _  
          lpBrowseInfo   As   BROWSEINFO)   As   Long  
Type   BROWSEINFO  
          hOwner   As   Long  
          pidlRoot   As   Long  
          pszDisplayName   As   String  
          lpszTitle   As   String  
          ulFlags   As   Long  
          lpfnCallback   As   Long  
          lParam   As   Long  
          iImage   As   Long  
End   Type  
Dim   xStartPath   As   String  
   
Function   SelectDir(Optional   StartPath   As   String,Optional   Titel   As   String)   As   String  
          Dim   iBROWSEINFO   As   BROWSEINFO  
          With   iBROWSEINFO  
                  .lpszTitle   =   IIf(Len(Titel),   Titel,   "【请选择文件夹】")  
                  .ulFlags   =   7  
                  If   Len(StartPath)   Then  
                  xStartPath   =   StartPath   &   vbNullChar  
                  .lpfnCallback   =   GetAddressOf(AddressOf   CallBack)  
                  End   If  
          End   With  
          Dim   xPath   As   String,   NoErr   As   Long:   xPath   =   Space$(512)  
          NoErr   =   SHGetPathFromIDList(SHBrowseForFolder(iBROWSEINFO),   xPath)  
          SelectDir   =   IIf(NoErr,   Left$(xPath,   InStr(xPath,   Chr(0))   -   1),   "")  
End   Function  
   
Function   GetAddressOf(Address   As   Long)   As   Long  
          GetAddressOf   =   Address  
End   Function  
   
Function   CallBack(ByVal   hWnd   As   Long,   _  
                                      ByVal   Msg   As   Long,   _  
                                      ByVal   pidl   As   Long,   _  
                                      ByVal   pData   As   Long)   As   Long  
          Select   Case   Msg  
                  Case   1  
                          Call   SendMessage(hWnd,   1126,   1,   xStartPath)  
                  Case   2  
                          Dim   sDir   As   String   *   64,   tmp   As   Long  
                          tmp   =   SHGetPathFromIDList(pidl,   sDir)  
                          If   tmp   =   1   Then   SendMessage   hWnd,   1124,   0,   sDir  
          End   Select  
End   Function  
   
   
'在窗体中:  
dim   strDir   as   String  
strDir   =   SelectDir("C:\",   "呵呵,请选择所需的文件夹")'假设初始路径为"C:\"  
'strDir中就保存了所选的文件夹

该文章在 2012/7/20 14:13:15 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved