使用网上比较普遍的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通过Windows API实现打开文件对话框的具体示例。代码详细展示了如何定义和初始化OPENFILENAME结构,并调用GetOpenFileName函数来触发文件选择对话框。此示例适用于需要在VB应用程序中集成文件选择功能的开发者。
1469

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



