用vba方法将txt原始文件导入到access中,查询后导出到excel中
时间:2011-05-06
来源:互联网
现在有三个格式统一的txt文件,想要用vba方法导入到access中,然后查询后将结果导出到excel中。
求高人,求代码。
所有txt文件格式都是一样的,导出的excel是事先做好的,希望能导入到指定sheet中。
text.zip (271.27 KB)
求高人,求代码。
所有txt文件格式都是一样的,导出的excel是事先做好的,希望能导入到指定sheet中。

作者: 汉娜 发布时间: 2011-05-06
搞那么复杂干吗呢?直接导入Excel的某个工作表再把查询结果导出到另一个工作表不行么?
http://www.access-cn.com/thread-96551-1-1.html
——不过下载需要回复噢,点这里注册用户:
http://www.access-cn.com/?fromuid=179386
[ 本帖最后由 roych 于 2011-5-6 21:00 编辑 ]
复制内容到剪贴板
'需引用ADO库和Office库
'定义ADO对象和打开文件拾取器对象
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim fd As FileDialog
'定义文件名和文件路径。
Dim FileName As String
Dim FilePath As String
'定义偏移量,以便根据偏移位置把数据导入到指定位置。
Dim rcd As Long
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
'允许多个选取,建议把所需文件放在同一个文件夹里。
.AllowMultiSelect = True
'设置打开文件类型,以免发生错误
.Filters.Clear
.Filters.Add "文本文件(*.txt)", "*.txt"
'初始化视图
.InitialView = msoFileDialogViewDetails
End With
'初始化偏移量
rcd = 0
'如果选择
If fd.Show = -1 Then
'统计所选文件数
For i = 1 To fd.SelectedItems.Count
'提取文件名和文件路径字符串,InStrRev(fd.SelectedItems(i), "\", -1)表示逆向获取"\"的位置
FileName = Right(fd.SelectedItems(i), Len(fd.SelectedItems(i)) - InStrRev(fd.SelectedItems(i), "\", -1))
FilePath = Left(fd.SelectedItems(i), InStrRev(fd.SelectedItems(i), "\", -1))
'打开ADO链接和数据集,这两项是关键。
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FilePath & ";Extended Properties=""text;HDR=No;FMT=Delimited;"";"
rst.Open "Select * From [" & FileName & "]", cnn, adOpenStatic, adLockReadOnly, adCmdText
'复制数据集到指定位置
Sheet1.[a1].Offset(0, rcd).CopyFromRecordset rst
rcd = rcd + 1
'关闭数据集和链接以便下一次执行
rst.Close
cnn.Close
Next i
End If
End Sub
源文件请见链接。代码:
Sub 导入()'需引用ADO库和Office库
'定义ADO对象和打开文件拾取器对象
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim fd As FileDialog
'定义文件名和文件路径。
Dim FileName As String
Dim FilePath As String
'定义偏移量,以便根据偏移位置把数据导入到指定位置。
Dim rcd As Long
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
'允许多个选取,建议把所需文件放在同一个文件夹里。
.AllowMultiSelect = True
'设置打开文件类型,以免发生错误
.Filters.Clear
.Filters.Add "文本文件(*.txt)", "*.txt"
'初始化视图
.InitialView = msoFileDialogViewDetails
End With
'初始化偏移量
rcd = 0
'如果选择
If fd.Show = -1 Then
'统计所选文件数
For i = 1 To fd.SelectedItems.Count
'提取文件名和文件路径字符串,InStrRev(fd.SelectedItems(i), "\", -1)表示逆向获取"\"的位置
FileName = Right(fd.SelectedItems(i), Len(fd.SelectedItems(i)) - InStrRev(fd.SelectedItems(i), "\", -1))
FilePath = Left(fd.SelectedItems(i), InStrRev(fd.SelectedItems(i), "\", -1))
'打开ADO链接和数据集,这两项是关键。
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FilePath & ";Extended Properties=""text;HDR=No;FMT=Delimited;"";"
rst.Open "Select * From [" & FileName & "]", cnn, adOpenStatic, adLockReadOnly, adCmdText
'复制数据集到指定位置
Sheet1.[a1].Offset(0, rcd).CopyFromRecordset rst
rcd = rcd + 1
'关闭数据集和链接以便下一次执行
rst.Close
cnn.Close
Next i
End If
End Sub
http://www.access-cn.com/thread-96551-1-1.html
——不过下载需要回复噢,点这里注册用户:
http://www.access-cn.com/?fromuid=179386
[ 本帖最后由 roych 于 2011-5-6 21:00 编辑 ]
作者: roych 发布时间: 2011-05-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28