No puedo ver qué campos son los que quieres con ceros. Los datos están movidos con respecto a los títulos, pero supongo que son el campos ZIP y ZIP4. De izquierda a derecha son los campos 13 y 14 respectivamente.
En la siguiente macro los campos 13 y 14, tienen formato texto con el número 2 (para conservar los ceros) en esta línea:
Array(13, 2), Array(14, 2)
Si no son los campos 13 y 14 o si quieres otro campo, solamente cambia el 1 por 2. Por ejemplo si quieres en texto el campo 16, entonces cambia el 1 por 2 en esta parte:
Array(16, 1)
Para que sea texto lo cambias a:
Array(16, 2)
Así de simple.
Prueba nuevamente:
Sub Macro1()
Dim sh As Worksheet, wb As Workbook, arch As Variant
Dim lr1 As Long, lr2 As Long, lr3 As Long
Dim sDatos As Variant, sNombre As String
'
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'
Set sh = Sheets("To_import")
sh.Rows("2:" & Rows.Count).ClearContents
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Seleccione archivos txt"
.Filters.Clear
.Filters.Add "Todos los archivos", "*.txt"
.AllowMultiSelect = True
.InitialFileName = "C:\trabajo\folder1"
If .Show Then
For Each arch In .SelectedItems
sDatos = Split(arch, "_")
sNombre = Split(sDatos(UBound(sDatos)), ".")(0)
'
Workbooks.OpenText Filename:=arch, Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), _
Array(12, 1), Array(13, 2), Array(14, 2), Array(15, 1), Array(16, 1), _
Array(17, 1), Array(18, 1)), TrailingMinusNumbers:=True
'
Set wb = ActiveWorkbook
lr1 = wb.Sheets(1).Range("A" & Rows.Count).End(3).Row
lr2 = sh.Range("A" & Rows.Count).End(3).Row + 1
wb.Sheets(1).Rows("2:" & lr1).Copy sh.Range("A" & lr2)
lr3 = sh.Range("A" & Rows.Count).End(3).Row
sh.Range("T" & lr2 & ":T" & lr3).Value = sNombre
wb.Close False
Next
End If
End With
End Sub