Foros del Web » Soporte técnico » Ofimática »

Conversión a XLS a TXT

Estas en el tema de Conversión a XLS a TXT en el foro de Ofimática en Foros del Web. Hola!!! Espero que me podais ayudar. Necesito convertir un archivo de excel con 4 columnas a formato txt, pero que me respete el formato de ...
  #1 (permalink)  
Antiguo 27/02/2008, 08:47
 
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes
Puntos: 0
Conversión a XLS a TXT

Hola!!!

Espero que me podais ayudar. Necesito convertir un archivo de excel con 4 columnas a formato txt, pero que me respete el formato de columnas, es decir, que guarde el mismo aspecto que el excel pero en formato txt.

Yo lo guardo como texto, pero no consigo que guarde la apariencia del excel.

Puede alguien por favor echarme una mano con esto

Muchas gracias
Un saludo
  #2 (permalink)  
Antiguo 27/02/2008, 08:55
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Re: Conversión a XLS a TXT

El fichero de texto te lo guarda tabulado, con espacios, para separar las columnas. ¿Cómo quieres que te salga en un fichero de texto plano?.

Ejemplo:

  #3 (permalink)  
Antiguo 27/02/2008, 10:45
 
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Conversión a XLS a TXT

Hola,

El problema es que tengo el excel con columnas. Le digo que me lo guarde en formato texto y no queda ajustado cada referencia debajo de su lugar

Te pongo un ejemplo:

REFERENCIA DESCRIPCION UNIDAD MEDIDA P.V.P.

AZEMT 89,76 30 305 K. AZUL MOD
AZEMT-1KXXX 1 K. AZUL MOD PCE 24,76
BD0601064XXX LASER SCANER S 3000-L (7m) PCE 6248,87

Yo lo que quiero es que cada referencia, descripción, etc.. quede debajo de su lugar y perfectamente alineado tal y como está en un excel.


¿Puedes ayudarme?

Muchas gracias
Un saludo
  #4 (permalink)  
Antiguo 27/02/2008, 12:44
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Re: Conversión a XLS a TXT

Prueba este macro (seguramente se podrá mejorar, porque lo acabo de hacer). Solo tienes que cambiar la celda inicial y la final, para saber qué rango de celdas son las que se van a tratar:
Código:
Sub acomodar_texto()
Application.ScreenUpdating = False
'***********************
'datos a cambiar
celda_inicial = "A1"
celda_final = "C3"
'***********************
'pasamos los datos a variables
min_fila = Range(celda_inicial).Row
max_fila = Range(celda_final).Row
min_columna = Range(celda_inicial).Column
max_columna = Range(celda_final).Column
'nos situamos en la primera celda
Range(celda_inicial).Select
Selection.NumberFormat = "@"
'comenzamos a contar caracteres de largo
maximo = 0
For i = min_fila To max_fila
    For j = min_columna To max_columna
        maximo_tmp = Len(ActiveCell)
        If maximo_tmp > maximo Then maximo = maximo_tmp
        ActiveCell.Offset(0, 1).Select
        Selection.NumberFormat = "@"
    Next
    ActiveCell.Offset(1, -max_columna).Select
Next
'nos situamos en la primera celda
Range(celda_inicial).Select
'añadimos los espacios necesarios,
'una vez determinado el máximo
For i = min_fila To max_fila
    For j = min_columna To max_columna
        ActiveCell = ActiveCell & String(maximo - Len(ActiveCell), " ")
        ActiveCell.Offset(0, 1).Select
    Next
    ActiveCell.Offset(1, -max_columna).Select
Next
Application.ScreenUpdating = True
End Sub
Edito:
Guarda el fichero con los datos originales antes de ejecutar el macro. Seguidamente ejecutas el macro, y te convertirá a texto todos los datos, incluidos los numéricos, y les añadirá detrás los espacios necesarios para que al guardar los datos como fichero de texto, queden perfectamente elineados.

Salu2

Última edición por 3pies; 27/02/2008 a las 13:24
  #5 (permalink)  
Antiguo 27/02/2008, 14:25
 
Fecha de Ingreso: marzo-2007
Mensajes: 9
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Conversión a XLS a TXT

Lo primero, darte las gracias por tu ayuda.

No tengo ni idea de macros. Por eso, estoy seguro de que hago algo mal. Los pasos serían: ir al editor de visual basic y pegar todo lo que tu has puesto tal cual y después ejecutar la macro?

Lo he hecho y cuando ejecuto la macro, se minimiza el excel pero no ocurre nada.

Muchas gracias por tu ayuda y tu paciencia.

Un saludo
  #6 (permalink)  
Antiguo 28/02/2008, 02:43
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Re: Conversión a XLS a TXT

En mi blog sobre la hoja de cálculo excel, explico como crear tu primer macro.

Debes hacer lo que pone a partir del párrafo que empieza con Para entrar en modo VBA, tan solo... y en lugar de poner el macro ese del ejemplo, copia y pega el macro que he puesto en este hilo (no olvides guardar tu fichero antes de ejecutar el macro).

Salu2

PD: No olvides cambiar las celdas incial y final que aparecen en el macro, cambiando lo que hay en rojo:

Código:
celda_inicial = "A1"
celda_final = "C3"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 01:37.