Visual Basic para Aplicaciones - Macro: Abrir varios Archivos TXT cantidad Variable

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Macro: Abrir varios Archivos TXT cantidad Variable

Publicado por Javier (1 intervención) el 25/05/2016 22:13:22
Buenas tardes
¿Cómo puedo abrir varios archivos TXT que se encuentran en una ruta especifica?, lo que pasa es que a veces es 1, 2, 3 o 4, y el nombre es diferente para cada uno. Solo quisiera que buscara cada archivo y si no lo encuentra que salte al siguiente sin que genere error. Gracias

los archivos de Texto se deben Abrir y se delimitan en una sola columna, y se pegan en un Excel uno tras otro (esto en caso que sea mas de uno). Me explico. Este código me sirve pero para archivos Excel, pero no me funciona con TXT.
Este código verifica si el archivo existe en la Ruta, y si no, pasa a buscar el siguiente archivo. Gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Dim Archivo As String
Workbooks.OpenText Filename:="D:\Archivos RM\EXTP", Origin:=xlMSDOS, _
StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(0, 2), _
TrailingMinusNumbers:=True
If Not Dir(Archivo) = "" Then
 Workbooks.Open Filename:=Archivo
 Application.DisplayAlerts = False
 Columns("A:A").Select
 Selection.Copy
 Windows("MCR RDM NUEVA 2016.xlsm").Activate
 Sheets("EXTRACTO POS").Select
 Columns("A:A").Select
 ActiveSheet.Paste
 Application.CutCopyMode = False
 Windows("EXTP").Activate
 Workbooks("EXTP").Close SaveChanges:=False
End If
Workbooks.OpenText Filename:="D:\Archivos RM\EXTP2", Origin:=xlMSDOS, _
StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(0, 2), _
TrailingMinusNumbers:=True
If Not Dir(Archivo) = "" Then
 Workbooks.Open Filename:=Archivo
 Application.DisplayAlerts = False
 Range("A1").Select
 Range(Selection, Selection.End(xlDown)).Select
 Selection.Copy
 Windows("MCR RDM NUEVA 2016.xlsm").Activate
 Sheets("EXTRACTO POS").Select
 Range("A1").Select
 Selection.End(xlDown).Offset(1, 0).Select
 ActiveSheet.Paste
 Application.CutCopyMode = False
 Windows("EXTP2").Activate
 Workbooks("EXTP2").Close SaveChanges:=False
End If
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder