我如何读取txt文件中的行,但从第二行开始,跳过第一行?
所以这个Excelmacros在读取特定文件夹中的多个txt文件,并将所有行插入到第一个Excel表格中效果很好。 我想编辑这段代码,以便macros跳过每个txt文件的第一行。
谁能帮忙?
Sub test1() Dim fso As FileSystemObject Dim folder As folder Dim file As file Dim FileText As TextStream Dim TextLine As String Dim Items() As String Dim i As Long Dim cl As Range ' Get a FileSystem object Set fso = New FileSystemObject ' get the directory you want Set folder = fso.GetFolder("C:\Users\Desktop\TXT") ' set the starting point to write the data to Set cl = ActiveSheet.Cells(1, 1) ' Loop thru all files in the folder For Each file In folder.Files ' Open the file Set FileText = file.OpenAsTextStream(ForReading) ' Read the file one line at a time Do While Not FileText.AtEndOfStream TextLine = FileText.ReadLine ' Parse the line into | delimited pieces Items = Split(TextLine, vbTab) ' Put data on one row in active sheet cl.Value = file.Name ' Put data on one row in active sheet For i = 0 To UBound(Items) cl.Offset(0, i + 1).Value = Items(i) Next ' Move to next row Set cl = cl.Offset(1, 0) Loop ' Clean up FileText.Close Next file Set FileText = Nothing Set file = Nothing Set folder = Nothing Set fso = Nothing End Sub
选项1预先读取第一行
在开始Do While循环之前,添加以下行:
If Not FileText.AtEndOfStream Then TextLine = FileText.ReadLine
这样,你将阅读第一行(如果有的话),你的Do While循环将只读取后续的
选项2之后删除Excel中的第一行
另一个解决scheme可能是在脚本完成导入所有文件后,删除Excel中的第一行。
您可能必须具体说明适用于哪些列,因为我不确定活动导入是否是唯一导入导入(否则,您将删除先前导入的值,这些值本来不应该被删除!