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

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

2007-12-18 23:38 381 查看
 

使用网上比较普遍的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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: