Saludos,
Hemos creado una macro para poder procesar rapidamente unos archivos
de texto tabulado mediante espacios. Contienen varias columnas de
números, en las que los decimales están marcados por comas. El codigo
que utilizamos para abrir los documentos es el siguiente:
Workbooks.OpenText Filename:= _
"c\origen.txt"_
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True,
Semicolon:=False, _
Comma:=False, Space:=True, Other:=False,
FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6,
1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1),
Array(13, 1)), _
DecimalSeparator:=",", ThousandsSeparator:=".",
TrailingMinusNumbers:=True
A continuación realizamos varias operaciones de borrado de columnas,
nunca tocamos los números en si. Finalmente guardamos lo realizado
mediante el siguiente codigo.
ActiveWorkbook.SaveAs Filename:="c\prueba.txt",
FileFormat:=xlText, CreateBackup:=False
La macro corre perfectamente, realizando las operaciones esperadas y
guardando lo obtenido. El problema está en que al guardar el archivo
como txt convierte las comas que señalan los decimales en puntos.
Curiosamente, si detenemos la macro justo antes de guardar el archivo
y lo hacemos manualmente SÍ que guarda las comas correctamente.
Hemos comprobado que la configuración regional del Excel y del equipo
es la correcta. También se ha usado la macro en otros ordenadores, sin
que cambie el problema.
Dado que tenemos que trabajar con muchos archivos no se hace práctico
entrar a sustituir el punto por la coma mediante el block de notas.
¿Alguien tiene idea de donde puede estar produciendose el error?.
Muchas gracias.
Leer las respuestas