Importar txt a excel

Buenos Días Amigos
He estado leyendo mucho sus preguntas y respuestas, lo cual me ha parecido de mucha ayuda, tengo un problema y es que tengo que importar los campos de un archivo guardado de un emulador que captura información de una central, este archivo contiene los errores enviados por dicho equipo, y me gustaría plasmarlo en un excel, he subido los archivos como ejemplo, tanto el txt como el excel, en realidad el txt lo he reducido, espero su ayuda y de antemano agradezco su gentil respuesta
dirección de archivo
http://www.megaupload.com/?d=II579M4Z
David Lezcano
[email protected]

1 Respuesta

Respuesta
1
entra aquí http://alexcastaneda.blogspot.com/2009/04/vba-excel-excel-y-visual-basic.html
Al final del post encontrarás la posible solución a tu problema.
Hola Amigo, en realidad no he encontrado solución en la página que me indicas, bueno yo he andando haciendo pruebas sin encontrar un resultado positivo, de todos modos te pego lo que avance, haber si me podrías decir que esta mal, de antemano agradezco tu pronta ayuda
De antemano agradezco tu
Sub Leer_archivo()
Dim xMatriz_MFC010(55)
'***** Nombre del archivo Fuente **************
xarchivo = "D:\Trafico\prueba.txt"
Open xarchivo For Input Access Read As #1
xInicia_Recoleccion = False
Do While Not EOF(1)
Line Input #1, xregistro
xregistro = Trim(xregistro)
If Mid(xregistro, 1, 6) = "TIM597" And Mid(xregistro, 11, 2) = "00" Then
If Mid(xregistro, 1, 6) = "MFC010" Then
If xregistro = "MFC010" Then
xVariable_1 = xregistro
xInicia_Recoleccion = True
End If
If xInicia_Recoleccion = True Then
Do While xInicia_Recoleccion = True
Line Input #1, xregistro
xregistro = Trim(xregistro)
If xregistro = "MFC010" Then
xVariable_1 = xregistro
Do While Mid(Trim(xregistro), 1, 8) <> "MFC010"
Line Input #1, xregistro
xregistro = Trim(xregistro)
Select Case Trim(Mid(xregistro, 1, 6))
Case "MFC010"
xMatriz_MFC010(1) = Mid(xregistro, 6, 8)
xMatriz_MFC010(2) = Mid(xregistro, 15, 8)
xMatriz_MFC010(3) = Mid(xregistro, 24, 8)
xMatriz_MFC010(4) = Mid(xregistro, 33, 8)
xMatriz_MFC010(5) = Mid(xregistro, 42, 8)
xMatriz_MFC010(6) = Mid(xregistro, 51, 8)
xMatriz_MFC010(7) = Mid(xregistro, 60, 8)
xMatriz_MFC010(8) = Mid(xregistro, 69, 8)
xMatriz_MFC010(9) = Mid(xregistro, 78, 8)
Line Input #1, xregistro
xregistro = Trim(xregistro)
If EOF(1) Then Exit Do
xMatriz_MFC010(10) = Mid(xregistro, 0, 8)
xMatriz_MFC010(11) = Mid(xregistro, 9, 8)
xMatriz_MFC010(12) = Mid(xregistro, 18, 8)
xMatriz_MFC010(13) = Mid(xregistro, 27, 8)
xMatriz_MFC010(14) = Mid(xregistro, 36, 8)
xMatriz_MFC010(16) = Mid(xregistro, 45, 8)
xMatriz_MFC010(17) = Mid(xregistro, 54, 8)
End Select
Loop
'xMatriz_PKTS(1) = Mid(xregistro, 8, 5)
'xMatriz_PKTS(2) = Mid(xregistro, 15, 5)
Worksheets("REGISTRO").Activate
Worksheets("REGISTRO").Range("A1").Select
Selection.End(xlDown).Select
xpos = Mid(Trim(ActiveCell.Address), 1, 3) + Trim(Str(ActiveCell.Row + 1))
Range(xpos).Select
ActiveCell.Value = xVariable_1
Worksheets("REGISTRO").Range("A1").Select
For xVar = 1 To 17
Cells.Find(What:="MFC010_" + Trim(Str(xVar)), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True).Activate
Selection.End(xlDown).Select
xpos = Mid(Trim(ActiveCell.Address), 1, 3) + Trim(Str(ActiveCell.Row + 1))
Range(xpos).Select
ActiveCell.Value = xMatriz_MFC010(xVar)
Next
xInicia_Recoleccion = False
End If
Loop
End If
Loop
Close #1
End Sub
En estos momentos estoy desarrollando tu ejercicios, tengo algunas preguntas, en la hoja REGISTRO no existen éstos datos:
BUG6504
BUG6504 : 244 0 15 12
BUG6504 + 00BEE2BC 1322CAB3 00B87E21 00B86E7F 133570E6
BUG6504 + 00BB3A42 00BAEAAA 1327F12E 00B9ED44 01F90F7C
BUG6504 + 003BE8AB 003B7776 00A181FC 00A16745 00A13B5F
BUG6504 + 00A13526 00A125E6 00A123B4 00A0FA15 00A477E9
BUG6504 + 00A46CF7 01D1E1CD 01D1DF13 01D1DDFF 0122F65C
TRK166 87 15
Iod000
.
¿No te interesa esa información?
Esa información que supuestamente no te interesa siempre comenzara con BUG, TRK Y IO,¿.?
Responde lo más pronto posible por favor.
http://alexcastaneda.blogspot.com/
Hola amigo, muchas gracias por tu pronta respuesta, en realidad el archivo que has visto esmuy minimizado, esos archivos de bug, no me son de necesidad no los trk ni el iod
Solo necesito los MFC010
Saludos
Bueno si lo que te interesa son solamente los MFC010 entonces me parece que ya tengo la solución a tu problemita.
Aquí el Código.
----------------------------http://alexcastaneda.blogspot.com--------------------------------------
Sub Macro2()
'
' Macro2 Macro
'
' Acceso directo: CTRL+q
'
Dim strNombreArchivo, strRuta, strArchivoTexto As String
Dim f, i As Integer
Dim strTexto As String
Dim n As Integer
Dim caracter As String
Dim palabra As String
'nombre y ruta del archivo de texto
strNombreArchivo = "ejemplo.txt"
strRuta = "C:\"
strArchivoTexto = strRuta & strNombreArchivo
'abrimos el archivo para lectura
f = FreeFile
Open strArchivoTexto For Input As #f
'inicializamos desde que punto copiará
i = Cells.SpecialCells(xlLastCell).Row + 1
'leemos el archivo de texto a columna de Excel
While Not EOF(f)
          Line Input #f, strTexto
          If strTexto <> "" And Mid(strTexto, 1, 1) <> "B" And Mid(strTexto, 1, 1) <> "T" And Mid(strTexto, 1, 1) <> "I" And Mid(strTexto, 1, 1) <> "." Then
          j = 1
          For n = 1 To Len(strTexto)
                caracter = Mid(strTexto, n, 1)
                If caracter = " " Then
                          Cells(i, j) = palabra
                          j = j + 1
                          palabra = ""
                Else
                          palabra = palabra + caracter
                End If
          Next
         Cells(i, j) = palabra
         palabra = ""
         j = j + 1
         i = i + 1
         End If
Wend
'cerramos el archivo de texto
Close f
End Sub
----------------------------http://alexcastaneda.blogspot.com--------------------------------------
Si tienes problemas en la implementación sólo házmelo saber, para ponernos en contacto y así ayudarte en la implementación.
Hola AMigo de antemano agradezco tu ayuda,
he realizado algunas pruebas sin poder ponerlos n funcionamiento, mi consulta es si tengo que cambiar la frase palabra por mfc010, o algo así
Lo que tendrías que verificar es la ruta del archivo, tienes que guardar el archivo en el disco C:/, si quieres guardarlo en otra ubicación pues tienes que modificar en el cogido.
En todo caso dejame tu msn y yo me contacto contigo.
http://alexcastaneda.blogspot.com/
Hola amigo, mi msn = dlezcano @ viabcp . com
Te voy a agregar a mi msn y ahí platicamos, pero por el momento no me conectaré al msn ya que estoy de viaje. Para pasado mañana es más seguro.
Realmente me gustaría poner en una calificación de superexpero, po la dedicación y ganas de apoyo a la solución del problema, quiero recalcar que sin tu ayuda no hubiera podido lograr poder pasar los archivos cpturados del host a una base de datos
Saludos y gracias a todos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas