您的位置:首页 > 编程语言 > VB

使用VBS通过3种方式浏览本地文件,获取完整路径。

2011-12-27 09:46 796 查看
XP下:

Function BrowseForFile( )

' Select File dialog based on a script by Mayayana

' Known issues:

' * Tree view always opens Desktop folder

' * In Win7/IE8 only the file NAME is returned correctly, the path returned will always be C:\fakepath\

' * If a shortcut to a file is selected, the name of that FILE will be returned, not the shortcut's

On Error Resume Next

'===========1, file browserer in XP ==================

Set objDialog = CreateObject("UserAccounts.CommonDialog")

objDialog.Filter = "txt|*.txt"

objDialog.InitialDir = "C:\"

intResult = objDialog.ShowOpen

If intResult <> 0 Then

BrowseForFile = objDialog.FileName

exit function

else

msgbox "Error."

End If

end function

2003下

'for windows 2003

Function SelectAFile

Set objDialog = CreateObject("SAFRCFileDlg.FileOpen")

intResult = objDialog.OpenFileOpenDlg

SelectAFile = objDialog.FileName

End Function

浏览器方式:

Function BrowseForFile( )

'===========2, fileselect in IE ======================

'Another way to get file path

Dim objIE, strSelected

BrowseForFile = ""

Set objIE = CreateObject( "InternetExplorer.Application" )

objIE.ToolBar = False

objIE.Resizable = False

objIE.StatusBar = False

objIE.Width = 300

objIE.Height = 100

objIE.visible = True

objIE.Navigate( "about:blank" )

Do Until objIE.ReadyState = 4

Loop

' Center the dialog window on the screen

With objIE.Document.ParentWindow.Screen

objIE.Left = (.AvailWidth - objIE.Width ) \ 4

objIE.Top = (.Availheight - objIE.Height) \ 4

End With

objIE.Document.Write "<HTML><BODY><INPUT ID=""FileSelect"" NAME=""FileSelect"" TYPE=""file""><BODY></HTML>"

With objIE.Document.all.FileSelect

.focus

.click

strSelected = .value

End With

objIE.Quit

Set objIE = Nothing

If Trim(strSelected) = "" Then

Msgbox "You selected no file."

Wscript.Quit

End If

BrowseForFile = strSelected

End Function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: