Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Is there a quick way of reading the last line of a plain text file
without having to open it and read each line. I don't think I can use any of the fancy extensions such as binary mode or whatever, due to the file being plain text -- Mike Please post replies to newsgroup to benefit others Replace dead spam with ntl world to reply by email |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If You write to a file in Random mode, You can use Seek
statement to find last record. For example: Type Record ' Define user-defined type. ID As Integer Name As String * 20 End Type Dim MyRecord As Record, MaxSize, RecordNumber ' Declare variables. ' Open file in random-file mode. Open "TESTFILE" For Random As #1 Len = Len(MyRecord) MaxSize = LOF(1) \ Len(MyRecord) ' Get number of records in file. ' The loop reads all records starting from the last. For RecordNumber = MaxSize To MaxSize - 1 Seek #1, RecordNumber ' Set position. Get #1, , MyRecord ' Read last record. Next RecordNumber Close #1 ' Close file. But, if You use other mode to read data in text file, I don't know best way to do this. Try it: Function ReadLastLine(fName As String) As String Dim fNum As Long Dim strtemp As String fNum = FreeFile() Open fName For Input As #fNum Do While Not EOF(fNum) 'ignore all line, not last Line Input #fNum, strtemp Loop Close #fNum ReadLastLine = strtemp End Function -----Original Message----- Is there a quick way of reading the last line of a plain text file without having to open it and read each line. I don't think I can use any of the fancy extensions such as binary mode or whatever, due to the file being plain text -- Mike Please post replies to newsgroup to benefit others Replace dead spam with ntl world to reply by email . |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
Do you know in advance how the files i structured? eg it's created by you, or is it a standard text file intended to read? If not intended to read, i stronly recomend to use an other format like random acccess ilo text mode. If you still have to use text mode there is no better way than to loop through the file untill EOF is reported, maybe LineInput might be faster... /Jonas "Mike" skrev i meddelandet ... Is there a quick way of reading the last line of a plain text file without having to open it and read each line. I don't think I can use any of the fancy extensions such as binary mode or whatever, due to the file being plain text -- Mike Please post replies to newsgroup to benefit others Replace dead spam with ntl world to reply by email |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On Sun, 23 Nov 2003 at 01:14:35, Jonas Caspersson (Jonas Caspersson
) wrote: Do you know in advance how the files i structured? eg it's created by you, or is it a standard text file intended to read? If not intended to read, i stronly recomend to use an other format like random acccess ilo text mode. If you still have to use text mode there is no better way than to loop through the file untill EOF is reported, maybe LineInput might be faster... Just realised the lines in the files are of fixed length - so can use losmac's method once I have determined the length I need them to be flat file format for something else that reads those files -- Mike Please post replies to newsgroup to benefit others Replace dead spam with ntl world to reply by email |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Mike
Here's a sub I use to do that Sub finddstamp() Dim Fname As String, LastLine As String Dim Fnum As Integer, i As Integer Dim CarRet As String Fname = "C:\Dick\Tester\FindLast.doc" Fnum = FreeFile Open Fname For Input As Fnum For i = LOF(Fnum) To 1 Step -1 Seek #Fnum, i CarRet = Input(1, #Fnum) If CarRet = vbCr Or CarRet = vbCrLf Then Line Input #Fnum, LastLine MsgBox LastLine Close Fnum Exit Sub End If Next i End Sub -- Dick Kusleika MVP - Excel www.dicks-clicks.com Post all replies to the newsgroup. "Mike" wrote in message ... Is there a quick way of reading the last line of a plain text file without having to open it and read each line. I don't think I can use any of the fancy extensions such as binary mode or whatever, due to the file being plain text -- Mike Please post replies to newsgroup to benefit others Replace dead spam with ntl world to reply by email |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Can Macro read line graphs? | Excel Discussion (Misc queries) | |||
Can Macro read line graphs? | Charts and Charting in Excel | |||
I have a read only xl file, I need it to be read and write | Excel Discussion (Misc queries) | |||
How can a file be converted from Read-Only to Read/Write | Excel Discussion (Misc queries) | |||
How do I read values from a line chart? | Charts and Charting in Excel |