我有一个文本文档(.txt),这里有n
行必须分开,但要点是我没有定界符。我知道每个不变的变量的长度。
例如,第一个变量是从25个字符到35个字符;第二个,从36到47;然后从48到78,然后从79到119,直到行的第360个字符。
我想解决方案是双循环的,每行一个,每个变量一个,但是我无法得到。
如果您需要更多信息,请问,我完全迷路了。
非常感谢
答案 0 :(得分:0)
您需要采取的步骤:
1&2: 您的工作簿需要对Microsoft脚本运行时的引用,以便您可以访问FileSystemObject。我让你研究一下。
创建一个FileSystemObject并使用它来创建带有文件路径的TextStream。
currentLine = textStream.ReadLine()
Do Until textStream.EOF
If Len(currentLine) = 360 Then
firstChunk = Mid$(currentLine, 25, 10)
secondChunk = Mid$(currentLine, 36, 11)
thirdChunk = Mid$(currentLine, 48, 30)
fourthChunk = Mid$(currentLine, 78, 30)
' Do stuff with chunks
End If
currentLine = textStream.ReadLine()
Loop
在适当的时候,您可能会很喜欢,并有一个由成对的项目组成的数组,其中详细说明了块的起点以及它的字符数,例如:
Dim arrChunkPoints As Variant
Dim arrChunks As Variant
arrChunkPoints = Array(25,10, _
36,11, _
48,30, _
78,30)
ReDim arrChunks(UBound(arrChunkPoints)\2) ' Integer returned
这将允许您跨过arrChunkPoints中的项目,并使用Mid $()使用currentLine的一部分填充arrChunks的每个元素,但使用arrChunkPoints中的值进行填充。但这可能是另一天。