Hier ist ein Beispiel von Funktion, die den Trick für Sie haben kann:
Option Explicit
Dim Title,FromLine,ToLine,fso,Readfile,strBuff,InputFile,TotalNbLines
Title = "Extract Lines From TextFile"
InputFile = "c:\test.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set Readfile = Fso.OpenTextFile(InputFile,1)
strBuff = Readfile.ReadAll
TotalNbLines = Readfile.Line
Readfile.Close
'*******************************************************************************************************
MsgBox "The total number of lines in this file """& InputFile &""" = "& TotalNbLines,VbInformation,Title
'*******************************************************************************************************
MsgBox "Extract the 3 last lines" & vbcrlf & vbcrlf &_
ExtractLinesFromTextFile(InputFile,TotalNbLines - 2,TotalNbLines),64,Title 'To extract the 3 last lines
'*******************************************************************************************************
MsgBox "Extract line from line 1 to 2" & vbcrlf & vbcrlf &_
ExtractLinesFromTextFile(InputFile,1,2),64,Title 'Extract line from line 1 to 2
'*******************************************************************************************************
MsgBox "Extract line N°2" & vbcrlf & vbcrlf &_
ExtractLinesFromTextFile(InputFile,2,2),64,Title 'Extract line N°2
'*******************************************************************************************************
MsgBox "Extract line from line 1 to 5" & vbcrlf & vbcrlf &_
ExtractLinesFromTextFile(InputFile,1,5),64,Title 'Extract line from line 1 to 5
'*******************************************************************************************************
MsgBox "Extract line from line 1 to 10" & vbcrlf & vbcrlf &_
ExtractLinesFromTextFile(InputFile,1,10),64,Title'Extract line from line 1 to 10
'*******************************************************************************************************
MsgBox "Extract line N° 12" & vbcrlf & vbcrlf &_
ExtractLinesFromTextFile(InputFile,12,12),64,Title'Extract line N° 12
'*********************************************************************************************************
Public Function ExtractLinesFromTextFile(ByRef TextFile, ByRef FromLine, ByRef ToLine) '<-- Inclusive
Const TristateUseDefault = -2 'To Open the file using the system default.
On Error Resume Next
If FromLine <= ToLine Then
With CreateObject("Scripting.FileSystemObject").OpenTextFile(TextFile,1,true,TristateUseDefault)
If Err.number <> 0 Then
MsgBox err.description,16,err.description
Exit Function
Else
Do Until .Line = FromLine Or .AtEndOfStream
.SkipLine
Loop
Do Until .Line > ToLine Or .AtEndOfStream
ExtractLinesFromTextFile = ExtractLinesFromTextFile & (.ReadLine & vbNewLine)
Loop
End If
End With
Else
MsgBox "Error to Read Line in TextFile", vbCritical,"Error to Read Line in TextFile"
End If
End Function
'*********************************************************************************************************
Lesen/Schreiben von Dateien funktioniert nicht auf diese Art und Weise auf Computern. –
@Edss Überprüfen Sie meine Antwort! – Hackoo
Danke @Hackoo; Aber ich habe schon eine Lösung mit Readall gefunden und arbeite an Split und Do Loop – Edss