leer comas "," en fichero txt(URGENTE)

daniotero
19 de Noviembre del 2003
hola!
lineas enteras de 124 caracteres de un fichero txt para pasarlas a ms word 2000 mediante una macro con el siguiente codigo:

Sub Prueba()
'
' Prueba Macro
' Macro grabada el 19/11/2003 por dotero
'
Dim linea As String
Dim wordApp As Object
Set wordApp = CreateObject("Word.Application")
wordApp.Documents.Open FileName:="C:PruebaFactura.doc", ReadOnly:=False
Open "c:Pruebafa124cpl.txt" For Input As #1
Do While Not EOF(1)
Input #1, linea
Mid(linea, 1) = " "
Mid(linea, 2) = " "
'Mid(linea, 124) = " "
wordApp.Selection.TypeText Text:=linea
'wordApp.Selection.TypeParagraph
Loop
Close #1
End Sub

Y me pasa todo bien, menos las comas que hay en las lineas del txt que desaparecen al igual que los dos siguientes caracteres que la siguen, o introduce un salto de linea que no se de donde aparece. Por que es???
Muchas gracias una vez mas y un saludo para todos

daniotero
19 de Noviembre del 2003
ya me he resuelto yo mismo el problema, el codigo quedaria asi. Un saludo, y espero que os sirva a vosotros alguna vez:

Sub Prueba()
'
' Prueba Macro
' Macro grabada el 19/11/2003 por dotero
'
Dim linea As String
Dim wordApp As Object
Set wordApp = CreateObject("Word.Application")
wordApp.Documents.Open FileName:="C:PruebaFactura.doc", ReadOnly:=False
Open "c:Pruebafa124cpl.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, linea
wordApp.Selection.TypeText Text:=linea
wordApp.Selection.TypeParagraph
Loop
Close #1
End Sub

sdemingo
19 de Noviembre del 2003
Hola,

Por lo que he visto, cuando lee una coma la sustituye por un salto de linea y retorno de carro.

La solución que te propongo es que hagas en el txt un reemplazar de las comas "," por otra carácter, por ejemplo el dolar "$"

Cuando obtengas la primera línea por código, sustituyes en la variable linea los caracteres $ por las comas "," así:

Sub Prueba()
'
' Prueba Macro
' Macro grabada el 19/11/2003 por dotero
'
Dim linea As String
Dim wordApp As Object
Dim lineaBuena As String

Set wordApp = CreateObject("Word.Application")
wordApp.Documents.Open FileName:="C:PruebaFactura.doc", ReadOnly:=False
Open "c:Pruebafa124cpl.txt" For Input As #1
Do While Not EOF(1)
Input #1, linea
lineaBuena = Replace(linea, "$", ",")
Mid(linea, 1) = " "
Mid(linea, 2) = " "
'Mid(linea, 124) = " "
wordApp.Selection.TypeText Text:=linea
'wordApp.Selection.TypeParagraph
Loop
Close #1
End Sub

Suerte
sdemingo