2007年10月30日 11:19:00
使用网上比较普遍的vb中使用WindowsAPI实现打开文件对话框代码,

Declare
Function
GetOpenFileName Lib
"
comdlg32.dll
"
Alias _
"
GetOpenFileNameA
"
(pOpenfilename
As
OPENFILENAME)
As
Long
Type OPENFILENAME
lStructSize
As
Long
hwndOwner
As
Long
hInstance
As
Long
lpstrFilter
As
String
lpstrCustomFilter
As
String
nMaxCustFilter
As
Long
nFilterIndex
As
Long
lpstrFile
As
String
nMaxFile
As
Long
lpstrFileTitle
As
String
nMaxFileTitle
As
Long
lpstrInitialDir
As
String
lpstrTitle
As
String
flags
As
Long
nFileOffset
As
Integer
nFileExtension
As
Integer
lpstrDefExt
As
String
lCustData
As
Long
lpfnHook
As
Long
lpTemplateName
As
String
End
Type

调用代码

Sub
t()
Dim
ofn
As
OPENFILENAME
Dim
rtn
As
String

ofn.lStructSize
=
Len
(ofn)
ofn.hwndOwner
=
Application.hWnd
'
ofn.hInstance = Application.hInstance
ofn.lpstrFilter
=
"
XML Files (*.xml)
"
&
Chr
(
0
)
&
"
*.xml
"
&
Chr
(
0
)
ofn.lpstrFile
=
Space
(
254
)
ofn.nMaxFile
=
255
ofn.lpstrFileTitle
=
Space
(
254
)
ofn.nMaxFileTitle
=
255
ofn.lpstrInitialDir
=
"
C:
"
ofn.lpstrTitle
=
"
打开文件
"
ofn.flags
=
6148

rtn
=
GetOpenFileName(ofn)

If
rtn
<=
1
Then
MsgBox
ofn.lpstrFile
Else
MsgBox
"
Cancel Was Pressed
"
End
If

End Sub




























































Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1856201