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