How do I avoid out of Memory Errors when parsing a big text file

Photomofo

Active Member
Joined
Aug 20, 2012
Messages
259
I'm working on a program that parses a text file into a useful layout.

Here's the program.

https://drive.google.com/open?id=0B5_Yx6GF6MxqUWR0VmRlOXMxdWs

Here's the text file.


Here's the section of code that hangs up. If I hard code in the location of File_x the code will run. If I used the GetOpenFilename function the code hangs up. Another problem is that I can only run the program once because it uses up all the memory. Is there a way to purge the EBA_File after I've broken it up into smaller strings?


'***************************************************************


Code:
'Get EBA File
'***************************************************************
MsgBox "GET EBA"
File_x = Application.GetOpenFilename()


'File_x = "C:\EBA.txt"


Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFile = objFS.GetFile(File_x)
Set objTS = objFile.OpenAsTextStream(ForReading, TristateFalse)
EBA_File = objTS.Read(objFile.Size)
'***************************************************************


'Chop up EBA_File into Smaller Overlapping Strings
'***************************************************************
k = Application.RoundUp(Len(EBA_File) / 50000000, 0)


For i = 1 To k


String_Index(i) = Mid(EBA_File, (i - 1) * 50000000 + 1, 51000000)


Next i
'***************************************************************
 

Excel Facts

When did Power Query debut in Excel?
Although it was an add-in in Excel 2010 & Excel 2013, Power Query became a part of Excel in 2016, in Data, Get & Transform Data.
Is there a way to purge the EBA_File after I've broken it up into smaller strings?
Code:
EBA_File = vbnullstring
 
Upvote 0
Thank you... I incorporated your suggestion along with erasing all the other arrays that are used in the script. Unfortunately I still get the out of memory error when I try to run the program a second time.
 
Upvote 0

Forum statistics

Threads
1,215,341
Messages
6,124,391
Members
449,155
Latest member
ravioli44

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top