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

vba使用win32 API(GetOpenFileName )实现打开文件对话框

2007-10-30 11:19 876 查看

使用网上比较普遍的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





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