vbs选择文件夹效果代码


  本文标签:vbs,选择文件夹

不用组件的话有两种办法: 

set objFile = CreateObject("SAFRCFileDlg.FileOpen") 
Set objShell = CreateObject("Shell.Application") 

本blog里都有示例 。 

如果调用vb组件,可以是: 

flag = &h200 
whichone = OpenFile("Choose a File!", "C:\", "Everything|*.*|TextFiles|*.TXT|Word-Documents|*.DOC", 2, flag) 
MsgBox "Raw data returned: " & whichone 
 Split up multi selection result: 
 space is used as separator: 
whichone = Split(whichone, " ") 
 field index 0 contains path information: 
path = whichone(0) 
 list all the files: 
 how many files were selected? 
filecount = UBound(whichone) 
if filecount=0 then 
 just one file selected! 
MsgBox "You selected one file: " & whichone(0) 
 check status of Read Only checkbox 
 is bit 1 set or cleared? 
 works only if just one file was selected! 
MsgBox "Returned flag: " & flag 
if (flag and 1) then 
 (flag and 1)<>0, transforms to true 
 bit is set! 
MsgBox "ReadOnly selected!" 
else 
MsgBox "ReadOnly not selected!" 
end If 
 check whether selected file is of default type (txt)  
if (flag and 1024) then 
MsgBox "selected file is no txt file!" 
else 
MsgBox "selected file is of default type!" 
end if 
else 
 more than one file selected! 
MsgBox "You selected " & filecount & " files!" 
for x = 1 to UBound(whichone) 
list = list & path & whichone(x) & vbCr 
next 
MsgBox list 
end If 

function OpenFile(title, dir, filter, index, flags) 
set comdlg = CreateObject("MSComDlg.CommonDialog") 
comdlg.filter = filter 
comdlg.FilterIndex = index 
comdlg.Flags = flags 
comdlg.MaxFileSize = 260 
comdlg.CancelError = false 
comdlg.DialogTitle = title 
comdlg.InitDir = dir 
 set txt as default 
comdlg.DefaultExt = "txt" 
comdlg.ShowOpen 
OpenFile = comdlg.filename 
 important: return flag status so your main script can 
 check it: 
flags = comdlg.Flags 
end function 

组件相关文件下载 http://xiazai.jb51.net/jbtools/vb6controls.rar