'http://support.microsoft.com/kb/161286/
Option
Explicit
Private
Declare
Function
GetOpenFileName
Lib
"
comdlg32.dll
"
Alias
_
"
GetOpenFileNameA
"
(pOpenfilename
As
OPENFILENAME)
As
Long
Private
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
Private
Sub
Command1_Click()
Dim
OpenFile
As
OPENFILENAME
Dim
lReturn
As
Long
Dim
sFilter
As
String
OpenFile.lStructSize
=
Len
(OpenFile) OpenFile.hwndOwner
=
Form1.hWnd OpenFile.hInstance
=
App.hInstance sFilter
=
"
Batch Files (*.bat)
"
&
Chr
(
0
)
&
"
*.BAT
"
&
Chr
(
0
) OpenFile.lpstrFilter
=
sFilter OpenFile.nFilterIndex
=
1
OpenFile.lpstrFile
=
String
(
257
,
0
) OpenFile.nMaxFile
=
Len
(OpenFile.lpstrFile)
-
1
OpenFile.lpstrFileTitle
=
OpenFile.lpstrFile OpenFile.nMaxFileTitle
=
OpenFile.nMaxFile OpenFile.lpstrInitialDir
=
"
C:
"
OpenFile.lpstrTitle
=
"
Use the Comdlg API not the OCX
"
OpenFile.flags
=
0
lReturn
=
GetOpenFileName(OpenFile)
If
lReturn
=
0
Then
MsgBox
"
The User pressed the Cancel Button
"
Else
MsgBox
"
The user Chose
"
&
Trim
(OpenFile.lpstrFile)
End
If
End Sub
转载请注明原文地址: https://ibbs.8miu.com/read-15699.html