Modificación archivo texto

31/10/2003 - 00:11 por osalazarg | Informe spam
Alguien me podria ayudar por favor.
Tengo un problema soy principiante en macros, me pasan un archivo formato
txt con cierta información, pero en ese archivo me falta un dato, mi
pregunta es ¿Como puedo hacer una macro para ingresar un importe que me
falta meter en ese archivo y volverlo a grabar con el formato txt con el
nuevo dato insertado?

Necesito insertar el importe hasta el final de archivo desde el espacio
386 hasta 401, o sea 15 espacios con un formato sin punto decimal y con
ceros a la izquierda que complete el importe: ejemplo

1,000.10 Debe de estar 000000000100010

No se si se podria con un InputBox ingresar el dato, adjunto archivo se
llama CEDENTE.TXT

1126419880041295460790405000001091021112083142671300842000002196619375000005246834598000000000138621000085257999056000000002252506000000000000000000002149213102000000000000000000000313902491032268111462778000000852519606003200205507393000000084549091000044859241740000000001185177041439290450516000001094821077000000000000000000000707662316000000000000000000000286266327000000000000000

Agradeciendoles por anticipado su ayuda.
Saludos.





Mensaje enviado desde http://grupos.buscadoc.org

 

Leer las respuestas

#1 Fernando Arroyo
31/10/2003 - 12:21 | Informe spam
Prueba con esto:


Sub prueba()

Dim intFichIn As Integer, intFichOut As Integer
Dim dblImporte As Double, strImporte As String
Dim strEntrada As String * 385, strSalida As String * 400

dblImporte = Application.InputBox(prompt:="Teclee el importe a incorporar al fichero de texto: ", Type:=1)

strImporte = Right(String(15, "0") & Replace(Trim(Str(dblImporte)), ".", ""), 15)

intFichIn = FreeFile(0)
Open "C:\CEDENTE.TXT" For Input As intFichIn Len = 385


intFichOut = FreeFile(0)
Open "C:\Salida.txt" For Output As intFichOut Len = 400

While Not EOF(intFichIn)
Line Input #intFichIn, strEntrada
strSalida = strEntrada & strImporte
Print #intFichOut, strSalida
Wend

Close intFichIn
Close intFichOut

End Sub


Ten en cuenta que, tal como está el código, el fichero CEDENTE.TXT tendría que estar en el directorio raíz de C:, y que el fichero de salida se llamará Salida.txt y estará en el mismo sitio.
Un saludo.


Fernando Arroyo
MS MVP - Excel



" sago " escribió en el mensaje news:
Alguien me podria ayudar por favor.
Tengo un problema soy principiante en macros, me pasan un archivo formato
txt con cierta información, pero en ese archivo me falta un dato, mi
pregunta es ¿Como puedo hacer una macro para ingresar un importe que me
falta meter en ese archivo y volverlo a grabar con el formato txt con el
nuevo dato insertado?

Necesito insertar el importe hasta el final de archivo desde el espacio
386 hasta 401, o sea 15 espacios con un formato sin punto decimal y con
ceros a la izquierda que complete el importe: ejemplo

1,000.10 Debe de estar 000000000100010

No se si se podria con un InputBox ingresar el dato, adjunto archivo se
llama CEDENTE.TXT

1126419880041295460790405000001091021112083142671300842000002196619375000005246834598000000000138621000085257999056000000002252506000000000000000000002149213102000000000000000000000313902491032268111462778000000852519606003200205507393000000084549091000044859241740000000001185177041439290450516000001094821077000000000000000000000707662316000000000000000000000286266327000000000000000

Agradeciendoles por anticipado su ayuda.
Saludos.





Mensaje enviado desde http://grupos.buscadoc.org

Preguntas similares