** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - vba importar varios archivos de txt en una hoja
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradovba importar varios archivos de txt en una hoja

 Responder Responder
Autor
Mensaje
jfca283 Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 05/Junio/2008
Localización: Chile
Estado: Sin conexión
Puntos: 218
Enlace directo a este mensaje Tema: vba importar varios archivos de txt en una hoja
    Enviado: 13/Octubre/2015 a las 15:13
Hola
Les comento que mi meta es importar una serie de archivos de texto (terminan en .fct, pero son solo texto) en una sola hoja.
Cree una macro para crear el nombre de los archivos a importar que funciona ok.
El problema es que al tratar importar tales ruta, la macro se detiene.
Les detallo lo hecho.

Sub yyz()

Dim myFirstBlankCell As String
Dim i As Integer
Dim dh As String
Dim p1 As String
Dim ruta As String

For i = 37 To 66


p1 = "C:\Users\JC\Documents\yyz\yyz_"
ruta = p1 & i & ".fct"
'El texto a importar se pega bajo 3 espacios del último importado. Para eso lo siguiente
myFirstBlankCell = Cells(i - 36 + 3 * (i - 37), 1)



   
*Acá mi macro deja de operar. En la "ruta"
   With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;ruta", Destination:=Range(myFirstBlankCell))
        .Name = "yyz_xx"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = True
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = True
        .TextFileColumnDataTypes = Array(1)
        .TextFileTrailingMinusNumbers = True
       ' .Refresh BackgroundQuery:=False
   End With
   Next i
   
End Sub


Ojalá me digan qué hago mal.
Muchas gracias de ante mano por su interés y tiempo.



Editado por jfca283 - 13/Octubre/2015 a las 15:13
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Binghamton
Estado: Sin conexión
Puntos: 3379
Enlace directo a este mensaje Enviado: 14/Octubre/2015 a las 02:36
¿Y no es mejor algo parecido a esto?

Sub OpenTextFile()
 Dim File_Path As String 
 File_path=" C:\Users\owner\myfile.txt"
 Open File_Path for Input as #1
 row_num= 1
 Do until EOF(1)
  Line Input #1, Line_FromFile
  range ("A" & row_num).value = Line_FromFile
  row_num = row_num + 1
Loop
Close #1
End Sub

Luis


Editado por lbauluz - 14/Octubre/2015 a las 03:07
Estos son mis principios. Si no le gustan... tengo otros
Arriba
chuk Ver desplegable
Habitual
Habitual
Avatar

Unido: 14/Febrero/2007
Localización: España
Estado: Sin conexión
Puntos: 63
Enlace directo a este mensaje Enviado: 15/Octubre/2015 a las 12:34
Hola,

Yo modificaría esta línea para dejarla así:

"TEXT;" & ruta, Destination:=Range(myFirstBlankCell))

Saludos!!
Ladran, luego cabalgamos
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable