Canada Flag

Back


Sub Extract_Text_Files()
' Written by Barrie Davidson

Dim Rollup_File_Name As String
Dim File_Names As Variant
Dim File_count As Integer
Dim Active_File_Name As String
Dim Counter As Integer
Dim File_Save_Name As Variant
Dim Characters As Integer
    
    
    File_Names = Application.GetOpenFilename("Text Files (*.txt), *.txt", , , , True)
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    File_count = UBound(File_Names)
    Counter = 1
    Do Until Counter > File_count
        Workbooks.Add
        Rollup_File_Name = ActiveWorkbook.Name
        Active_File_Name = File_Names(Counter)
        Workbooks.OpenText FileName:=Active_File_Name, Origin:=xlWindows _
            , StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 2), _
            Array(20, 1), Array(40, 1), Array(60, 1))
        Active_File_Name = ActiveWorkbook.Name
        Range("A1:A10").Copy ' You need to change this to the correct copy range
        Windows(Rollup_File_Name).Activate
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Windows(Active_File_Name).Activate
        File_Save_Name = InStr(1, Active_File_Name, ".txt", 1) - 1
        File_Save_Name = Mid(Active_File_Name, 1, File_Save_Name) & ".xls"
        Windows(Rollup_File_Name).Activate
        ActiveWorkbook.SaveAs FileName:=File_Save_Name, FileFormat:= _
            xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
            , CreateBackup:=False
        File_Names(Counter) = ActiveWorkbook.FullName
        ActiveWindow.Close
        Windows(Active_File_Name).Activate
        ActiveWindow.Close
        Counter = Counter + 1
    Loop
    Counter = 1
    Do Until Counter > File_count
        Workbooks.Open FileName:=File_Names(Counter)
        ActiveWindow.SelectedSheets.PrintOut Copies:=1
        Counter = Counter + 1
        ActiveWindow.Close
    Loop
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    

End Sub

Copyright © 2001 by Barrie R. Davidson
Added April 6, 2001