qihaizhong2013 发表于 2013-6-20 08:19
大家费心在给研究一下!谢谢了
第一步:新建一个Modules,假设为Modulas3.bas
把下面的复制到Module.bas中 - Public Const BIF_RETURNONLYFSDIRS = 1
- Public Const BIF_DONTGOBELOWDOMAIN = 2
- Public Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (LpBrowseInfo As BROWSEINFO) As Long
- Public Declare Function SHGetPathFromIDlist Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
- Public Type BROWSEINFO
- hOwner As Long
- pidlroot As Long
- pszDisplayName As String
- lpszTitle As String
- ulFlags As Long
- lpfn As Long
- lparam As Long
- iImage As Long
- End Type
- Public Function GetFolder(ByVal hWnd As Long, Optional Title As String) As String
- Dim bi As BROWSEINFO
- Dim pidl As Long
- Dim folder As String
- folder = Space(255)
- With bi
- If IsNumeric(hWnd) Then .hOwner = hWnd
- .ulFlags = BIF_RETURNONLYFSDIRS
- .pidlroot = 0
- If Title <> "" Then
- .lpszTitle = Title & Chr$(0)
- Else
- .lpszTitle = "选择目录" & Chr$(0)
- End If
- End With[/p][p=null, 2, left]pidl = SHBrowseForFolder(bi)
- If SHGetPathFromIDlist(ByVal pidl, ByVal folder) Then
- GetFolder = Left(folder, InStr(folder, Chr$(0)) - 1)
- Else
- GetFolder = ""
- End If
- End Function
复制代码 第二步 ,修改代码
Private Sub Command2_Click()
Dim Ff%
Dim strFnm$
Dim n&, col%
Dim strtmp As String
Dim str
str = GetFolder(Me.hWnd, "浏览文件夹") '取得选取路径
strFnm = str & "\导出.txt"
Ff = FreeFile
With Adodc1.Recordset
n = .RecordCount
col = .Fields.Count
If n > 0 Then
Open strFnm For Output As #Ff
.MoveFirst
Do While Not .EOF
strtmp = ""
For j = 0 To col - 1
strtmp = strtmp & IIf(strtmp = "", "", vbTab) & .Fields(j)
Next j
Print #Ff, strtmp
.MoveNext
Loop
Close #Ff
MsgBox "导出完成!文件位置:" & vbCrLf & str & "\导出.txt"
End If
End With
End Sub
|