
Guardar en formato TXT
Publicado por Dartio (92 intervenciones) el 12/07/2014 23:39:05
Amigos, tengo unta tabla y quisiera ver la forma de como poder guardar la misma en formato *.TXT mediante una Macro
Valora esta pregunta


0
Option Explicit
Option Private Module
Option Base 1
Sub test()
Dim sLine$, i As Byte, sTmp$
Dim iSize(15) As Integer
Dim c As Object, rng As Range
'//Define tamaño de cada campo
iSize(1) = 9
iSize(2) = 30
iSize(3) = 10
iSize(4) = 10
iSize(5) = 10
iSize(6) = 10
iSize(7) = 10
iSize(8) = 10
iSize(9) = 10
iSize(10) = 10
iSize(11) = 10
iSize(12) = 10
iSize(13) = 10
iSize(14) = 10
iSize(15) = 10
'//Rango de datos (sólo la primer columna de la tabla)
Set rng = Range("A2:A3")
'//Recorre toda la columna
For Each c In rng
sLine = ""
With c
'//Construye la línea con cada valor de celda
For i = 1 To 15
sTmp = UCase(.Offset(0, i - 1).Value) '//Mayúscula
'//Ajusta ancho de campo
If Len(sTmp) < iSize(i) Then
sTmp = sTmp & Space(iSize(i) - Len(sTmp))
ElseIf Len(sTmp) > iSize(i) Then
sTmp = Mid(sTmp, 1, iSize(i))
End If
sLine = sLine & sTmp & "|" '//Separador de lista
Next
End With
sLine = Mid(sLine, 1, Len(sLine) - 1) '//Elimina último separador
Call Line2File(sLine) '//Graba línea en archivo
Next
Set rng = Nothing
Set c = Nothing
End Sub
Private Sub Line2File(ByVal sLine As String)
Dim hFile%
hFile = FreeFile
Open "C:\Documents and Settings\User\Escritorio\test.txt" For Append As #hFile
Print #hFile, sLine
Close #hFile
End Sub