Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.misc
|
|||
|
|||
Extract from a file
The Excel VBA helpfile has the following code for extracting a character from the beginning of a textfile. If I change the parameters to inputs(5,#1) it will extract the first 5 characters of the file. Code: -------------------- Dim MyChar Open "TESTFILE" For Input As #1 ' Open file. Do While Not EOF(1) ' Loop until end of file. MyChar = Input(1, #1) ' Get one character. Debug.Print MyChar ' Print to the Immediate window. Loop Close #1 ' Close file. -------------------- I have a very big textfile and don't want to start my string from the beginning. Is there a way to get the INPUT function (or another) to read data out of the middle of a text file? Lets say I want just line 3. Another problem: I would like to get just one line...how do I detect the end of the line? -- kkjensen ------------------------------------------------------------------------ kkjensen's Profile: http://www.excelforum.com/member.php...o&userid=35911 View this thread: http://www.excelforum.com/showthread...hreadid=557043 |
#2
Posted to microsoft.public.excel.misc
|
|||
|
|||
Extract from a file
Instead of getting one character at a time, you can retrieve a whole line:
Option Explicit Sub testme01() Dim myLine As String Dim myFileName As String Dim FileNum As Long Dim lCtr As Long Dim KeepThisLine As String myFileName = "C:\my documents\excel\test.txt" FileNum = FreeFile If Dir(myFileName) = "" Then 'not found MsgBox "File is missing!" Exit Sub Else Close FileNum Open myFileName For Input As FileNum lCtr = 0 KeepThisLine = "" Do While Not EOF(FileNum) Line Input #FileNum, myLine lCtr = lCtr + 1 If lCtr = 3 Then KeepThisLine = myLine Exit Do End If Loop Close FileNum If lCtr < 3 Then MsgBox "not enough lines" Else MsgBox KeepThisLine End If End If End Sub kkjensen wrote: The Excel VBA helpfile has the following code for extracting a character from the beginning of a textfile. If I change the parameters to inputs(5,#1) it will extract the first 5 characters of the file. Code: -------------------- Dim MyChar Open "TESTFILE" For Input As #1 ' Open file. Do While Not EOF(1) ' Loop until end of file. MyChar = Input(1, #1) ' Get one character. Debug.Print MyChar ' Print to the Immediate window. Loop Close #1 ' Close file. -------------------- I have a very big textfile and don't want to start my string from the beginning. Is there a way to get the INPUT function (or another) to read data out of the middle of a text file? Lets say I want just line 3. Another problem: I would like to get just one line...how do I detect the end of the line? -- kkjensen ------------------------------------------------------------------------ kkjensen's Profile: http://www.excelforum.com/member.php...o&userid=35911 View this thread: http://www.excelforum.com/showthread...hreadid=557043 -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
How do I extract an Excel Chart as a graphics file? | Excel Worksheet Functions | |||
How to extract value from a different file? | Excel Worksheet Functions | |||
Excel file automatically opens | Excel Discussion (Misc queries) | |||
Links picking up values from an older version of linked file | Links and Linking in Excel | |||
cannot open excel file, please help!!! | Excel Discussion (Misc queries) |