Importing a file(s)

G

Guest

Worked great. Understood the process but now I want to import a second file
after the end of the first file.

Same file twice, fisrt in a Delimited format - to extraxct the header info
(fisrt 20 lines). But then I want to open the file again and extract the data
in a Fixed Width format undernear the header infor above.

The rest of the file will vary in length, from 1000 to 30,000.

Thanks
 
G

Guest

OK. Here is what I have to achieve this task. This was created by recoding a
macro then tweaking the file. It can probably be cleaned up some more.

Now I need to accomplish two additonal tasks:
1. Have the user select the file;

myFileName = Application.GetOpenFilename(filefilter:="Text or ASC Files,
*.txt; *.asc", _
Title:="Select the Data File")

2. A stand alone macro so it can be run by selecting an icon on the desk top.

Thanks

Sub Import_Files()
'
' Import_Files Macro
'

Workbooks.OpenText Filename:= _
"C:\myfile.txt" _
, Origin:=437, StartRow:=1, DataType:=xlFixedWidth,
FieldInfo:=Array( _
Array(0, 1), Array(9, 1), Array(12, 1), Array(18, 1), Array(22, 1),
Array(24, 1), Array(26, _
1), Array(34, 1), Array(35, 1), Array(37, 1), Array(40, 1),
Array(43, 1), Array(46, 1), _
Array(49, 1), Array(52, 1), Array(55, 1), Array(58, 1)),
TrailingMinusNumbers:=True
Rows("6:6").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Book1").Activate
Range("A6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Columns("A:AB").Select
Columns("A:AB").EntireColumn.AutoFit
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A6").Select
Windows("myfile.txt").Activate
Range("D637").Select
ActiveWindow.Close
Workbooks.OpenText Filename:= _
"C:\myfile.txt" _
, Origin:=437, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True,
Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
Rows("1:5").Select
Selection.Copy
Application.CutCopyMode = False
Selection.Copy
Windows("Book1").Activate
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
Application.CutCopyMode = False
Windows("myfile.txt").Activate
Range("B9").Select
ActiveWindow.Close
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top