作者diskk (oi)
看板Visual_Basic
标题Re: [VBS]怎麽用BrowseForFolder方法来存取档案
时间Wed Mar 8 21:22:49 2006
这个有BUG
不是你的程式
是微软
WINXP有另一个内建方式可存取档案
但如果你要适用各版本WINDOWS的话
建议你用IE
写一个档案控制项到网页上,再送出按键给档案按钮
你可以直接引用下面这个函式
这个方式的缺点是,没办法过滤副档名
Function IEOpenFileDialog()
Dim IEApp
Dim oDoc
set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = true
IEApp.Height = 0
IEApp.Width = 0
IEApp.Navigate("about:blank")
While IEApp.Busy
if Wscript.Version > 5 Then WSH.Sleep 100
Wend
set oDoc = IEApp.document
oDoc.Write("<input id=file type=file style='position:absolute; left:0;
top:0'>")
oDoc.all.file.focus
oDoc.all.file.click
IEOpenFileDialog = oDoc.all.file.value
IEApp.Quit
set oDoc = Nothing
set IEApp = Nothing
End Function
※ 引述《greenmiracle (看着吧..)》之铭言:
: 用BrowseForFolder方法让使用者选择资料夹可以抓到,例如下面是一个对话盒让使用者
: 选择资料夹,然後跳出视窗告知使用者选择的资料夹的路径:
: Const MY_COMPUTER = &H11&
: Const WINDOW_HANDLE = 0
: Const OPTIONS = 0
: '将[我的电脑]设为[根资料夹]
: Set objShell = CreateObject("Shell.Application")
: Set objFolder = objShell.NameSpace(MY_COMPUTER)
: Set objFolderItem = objFolder.Self
: strPath = objFolderItem.Path
: '使用者选取的资料夹设给objFolder(Shell Folder)
: Set objFolder = objShell.BrowseForFolder _
: (WINDOW_HANDLE, "Select a folder:", OPTIONS, strPath)
: If objFolder Is Nothing Then
: WScript.Quit
: End If
: Set objFolderItem = objFolder.Self
: objPath = objFolderItem.Path
: WScript.Echo objPath
: 但如果是档案的话就抓不到了
: 若把第三个参数改成
: Const OPTIONS = 16384
: 则可以浏览全部的东西包括档案
: 但选取档案的结果是发生[系统找不到指定的档案]的错误
: 请问该如何解决才能选取档案?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.48.194
1F:推 greenmiracle:谢谢你罗!!我会再仔细研究研究! 03/09 10:34