Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 70
Default Read text file?

If I use this line, to read a text file...

TFC = Input$(LOF(1), 1)

....it seems as if it only reads the first 65 536 chars?!?

But, I'm dealing with files often twice as long, sometimes up to 3 times!

How can I force the entire contents of the text file into the variable
'TFC'?


TIA.

CE


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Read text file?

Here's an example that reads a file and adds carriage returns to every line
feed.

Using File System Object and .readall are the things you need.

Option Explicit
Sub UpDateTxtFile()

Dim FSO As Object
Dim RegEx As Object

Dim myFile As Object
Dim myContents As String
Dim myInFileName As String
Dim myOutFileName As String

myInFileName = "C:\my documents\excel\test.txt"
myOutFileName = Environ("temp") & "\testout.txt"

Set FSO = CreateObject("Scripting.FileSystemObject")

Set myFile = FSO.OpenTextFile(myInFileName, 1, False)
myContents = myFile.ReadAll
myFile.Close

Set RegEx = CreateObject("VBScript.RegExp")
With RegEx
.Global = True
.IgnoreCase = False
.Pattern = vbLf
myContents = .Replace(myContents, vbCrLf)
End With

Set myFile = FSO.CreateTextFile(myOutFileName)
myFile.Write myContents
myFile.Close

End Sub

"Charlotte E." wrote:

If I use this line, to read a text file...

TFC = Input$(LOF(1), 1)

...it seems as if it only reads the first 65 536 chars?!?

But, I'm dealing with files often twice as long, sometimes up to 3 times!

How can I force the entire contents of the text file into the variable
'TFC'?

TIA.

CE


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 70
Default Read text file?

Hi Dave,

Sorry for a late reply - a little busy today :-)

Got it working, but one thing puzzles me:

myFile.Close

This file apparently doesn't closes the file completely?!?

I had to use:

Reset

To be able to use the file, including deleting it, from other
applications???


Anyway, it works - thanks :-)


CE





Dave Peterson wrote:
Here's an example that reads a file and adds carriage returns to
every line feed.

Using File System Object and .readall are the things you need.

Option Explicit
Sub UpDateTxtFile()

Dim FSO As Object
Dim RegEx As Object

Dim myFile As Object
Dim myContents As String
Dim myInFileName As String
Dim myOutFileName As String

myInFileName = "C:\my documents\excel\test.txt"
myOutFileName = Environ("temp") & "\testout.txt"

Set FSO = CreateObject("Scripting.FileSystemObject")

Set myFile = FSO.OpenTextFile(myInFileName, 1, False)
myContents = myFile.ReadAll
myFile.Close

Set RegEx = CreateObject("VBScript.RegExp")
With RegEx
.Global = True
.IgnoreCase = False
.Pattern = vbLf
myContents = .Replace(myContents, vbCrLf)
End With

Set myFile = FSO.CreateTextFile(myOutFileName)
myFile.Write myContents
myFile.Close

End Sub

"Charlotte E." wrote:

If I use this line, to read a text file...

TFC = Input$(LOF(1), 1)

...it seems as if it only reads the first 65 536 chars?!?

But, I'm dealing with files often twice as long, sometimes up to 3
times!

How can I force the entire contents of the text file into the
variable 'TFC'?

TIA.

CE



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Read text file?

I've never seen that occur.

But glad you got it working.

"Charlotte E." wrote:

Hi Dave,

Sorry for a late reply - a little busy today :-)

Got it working, but one thing puzzles me:

myFile.Close

This file apparently doesn't closes the file completely?!?

I had to use:

Reset

To be able to use the file, including deleting it, from other
applications???

Anyway, it works - thanks :-)

CE

Dave Peterson wrote:
Here's an example that reads a file and adds carriage returns to
every line feed.

Using File System Object and .readall are the things you need.

Option Explicit
Sub UpDateTxtFile()

Dim FSO As Object
Dim RegEx As Object

Dim myFile As Object
Dim myContents As String
Dim myInFileName As String
Dim myOutFileName As String

myInFileName = "C:\my documents\excel\test.txt"
myOutFileName = Environ("temp") & "\testout.txt"

Set FSO = CreateObject("Scripting.FileSystemObject")

Set myFile = FSO.OpenTextFile(myInFileName, 1, False)
myContents = myFile.ReadAll
myFile.Close

Set RegEx = CreateObject("VBScript.RegExp")
With RegEx
.Global = True
.IgnoreCase = False
.Pattern = vbLf
myContents = .Replace(myContents, vbCrLf)
End With

Set myFile = FSO.CreateTextFile(myOutFileName)
myFile.Write myContents
myFile.Close

End Sub

"Charlotte E." wrote:

If I use this line, to read a text file...

TFC = Input$(LOF(1), 1)

...it seems as if it only reads the first 65 536 chars?!?

But, I'm dealing with files often twice as long, sometimes up to 3
times!

How can I force the entire contents of the text file into the
variable 'TFC'?

TIA.

CE


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to read text from a non-delimited text file? Phil Excel Programming 8 May 22nd 07 01:09 PM
How do you save an excel file to be read as IBM-type text file ? Dee Franklin Excel Worksheet Functions 2 October 10th 06 02:46 AM
read text file hallie Excel Programming 2 August 17th 04 01:00 PM
read text file hallie Excel Programming 1 August 17th 04 12:37 PM
Read text file jacob[_3_] Excel Programming 2 September 23rd 03 06:41 PM


All times are GMT +1. The time now is 10:55 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"