Como generar corchetes en un txt

Convertir excel en txt, el resultado debe ser ente cochetes al inicio y al final

1 Respuesta

Respuesta
1

Bienvenido a TodoExpertos!

Podrías poner un ejemplo de lo que tienes en tu hoja de excel.

Y otra imagen mostrando cómo quieres el archivo txt.

Buen día, puedo enviar a través de un mail las imágenes ya que me dice que son demasiado grandes para enviarlas por acá

Solamente pon una muestra de tus datos.

Es decir, si tu archivo es de 100 columnas, solamente nuestra las 3 primeras. Solamente quiero ver qué tienes y cómo quieres el resultado.

No entiendo a qué te refieres con los corchetes, sería muy ilustrativo si lo puedes explicar con imágenes.

Ejemplo

Excel tengo los datos: Columna A: 123456

                                                         B: Fecha: 08072020

                                                        c: hora. 122534

                                                        d: guia: z3456.

y al convertir a txt debe aparecer asi: 

[|123456|08072020|122534|z3456|]

Mmm, ¿solamente tienes un registro?

Si tienes 2 registros, cómo quieres el resultado:

a)

[|123456|08072020|122534|z3456|]
[|654321|08072020|122534|A3456|]

b)

[|123456|08072020|122534|z3456|
|654321|08072020|122534|A3456|]

Opción a) u opción b)


Tu archivo tiene encabezado, quieres el encabezado en el archivo o solamente los datos. En cuál fila empiezan los datos.


Para subir una foto o una imagen, tienes que guardar la imagen con formato jpg

Ya que tienes tu imagen en un archivo, presiona el icono de añadir imagen:

En la siguiente ventana que te aparece:

Presiona el botón Subir imagen. Selecciona el archivo con tu imagen y presiona Abrir.


Ejemplo de una imagen:

Te pongo las 2 opciones:

Sub Archivo_1()
  Dim i As Long, lc As Long
  '
  lc = Cells(1, Columns.Count).End(1).Column
  Open ThisWorkbook.Path & "\" & "archivo.txt" For Output As #1
  For i = 2 To Range("A" & Rows.Count).End(3).Row
    Print #1, "[|" & Join(Application.Transpose(Application.Transpose(Range("A" & i, Cells(i, lc)))), "|") & "|]"
  Next
  Close #1
  MsgBox "Fin"
End Sub
Sub Archivo_2()
  Dim i As Long, lr As Long, lc As Long
  Dim s As String, e As String, cad As String
  '
  lr = Range("A" & Rows.Count).End(3).Row
  lc = Cells(1, Columns.Count).End(1).Column
  Open ThisWorkbook.Path & "\" & "archivo.txt" For Output As #1
  s = "["
  For i = 2 To lr
    cad = s & "|" & Join(Application.Transpose(Application.Transpose(Range("A" & i, Cells(i, lc)))), "|") & "|"
    If i = lr Then cad = cad & "]"
    Print #1, cad
    s = ""
  Next
  Close #1
  MsgBox "Fin"
End Sub

Yo necesito la opción a, sin el encabezado.

¿Ya probaste la macro Archivo_1?

Correcto, probé y genera el texto tal cual debe ser.

Muy agradecido, yo llegaba casi al final, no conseguía colocar los corchetes.

Muchísimas gracias.

Me alegra ayudarte. Gra cias por comentar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas