【发布时间】:2013-04-29 14:38:27
【问题描述】:
我想将一个文件夹中多个txt文件的数据放到一张Excel表格中。
我录制了一个宏,最后打开了不同工作簿中的文件。
Sub GetTxtData()
ChDir "C:\Users\Desktop\TXT"
Workbooks.OpenText Filename:="C:\Users\Desktop\TXT\Data0.txt", Origin:= _
xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:= _
False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1) _
, Array(3, 1), Array(4, 1), Array(5, 1)), TrailingMinusNumbers:=True
Workbooks.OpenText Filename:="C:\Users\Desktop\TXT\Data1.txt", _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
End Sub
【问题讨论】:
-
我会执行一个完整的循环,包括将数据复制到一个工作表中,同时记录宏
-
为什么不尝试使用获取外部数据导入数据?有一个教程:on the MSDN
-
另外,这是 Siddharth Rout 对这种类型 pf 的一个很好的回答:http://stackoverflow.com/questions/11267459/vba-importing-text-file-into-excel-sheet
-
谢谢 Philip 但我有 30 多个 txt 文件,其中包含数据,使用获取外部数据不是一个可行的想法,我会尝试 Siddharth 的方法。
-
Marc,这取决于文件的格式,如果它们适合在 ADO 记录集中,您可以在循环中读取它们,并且每个使用 CopyFromRecordset 将数据放入您的工作表中