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



使用网上比较普遍的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.youkuaiyun.com/TrackBack.aspx?PostId=1856201
本文介绍了一种在VB中利用WindowsAPI实现文件打开对话框的方法。通过详细展示Declare语句定义及调用过程,帮助读者理解如何设置对话框属性并获取用户选择的文件路径。
1470

被折叠的 条评论
为什么被折叠?



