Convertir a .DAT

06/11/2005 - 16:37 por lm | Informe spam
Buen dia,

les agradezco codigo VBA que me permita convertir una hoja excel con daos en
una sola columna a arhivo .dat y que no me salgan comillas al comienzo y al
final de cada registro.

Gracias

Luis

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
07/11/2005 - 01:27 | Informe spam
hola, Luis !

... codigo VBA... convertir una hoja excel con datos en una sola columna a arhivo .dat
... que no me salgan comillas al comienzo y al final de cada registro.



-> considerando que la extension '.DAT' pudiera necesitar diferentes tipos de 'estructura'
[segun la aplicacion que pudiera requerir tomar datos de ese archivo.dat]...
una alternativa [sin vba] es guardar el archivo por la interfase de excel [archivo / guardar como...]
-> selecciona un tipo de archivo -> Texto (OS/2 o DOS)
-> introduce nombre y extension entre comillas dobles [p.e. -> "MiArchivo.dat"]

en pruebas realizadas, lo siguiente es lo que 'se va' al archivo '.DAT' [archivo de texto 'realmente']...
dato original dato 'transportado'
Abcde Abcde
122 122
4.45 4.45
Texto X Texto X
Hola "mundo" "Hola ""mundo"""

-> como podras observar, las comillas SOLO 'aparecen' si el dato original contiene alguna ;)

si necesitas que sea por codigo... prueba con algo +/- como lo siguiente...
en un modulo de codigo 'normal' ==Sub Guardar_Archivo_DAT()
ActiveSheet.Copy
ActiveWorkbook.SaveAs _
FileName:="MiArchivo.dat", _
FileFormat:=xlTextMSDOS
Application.DisplayAlerts = False
ActiveWorkbook.Close , False
Application.DisplayAlerts = True
End Sub

-> con respecto del 'formato' [FileFormat:=...]
revisa en la ayuda de vba el formato que [realmente] 'necesitas' .TXT, o .CSV, o -???-
[p.e. xlCSVMSDOS, xlTextMSDOS, xlTextPrinter, xlTextWindows, etc.]

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 lm
07/11/2005 - 12:58 | Informe spam
Hector, gracias. Dado que con las opciones que da Excel siempre me aparecen
comillas en cada registro, utilicé la escritura directamente en el archivo
plano con un codigo similar al siguiente:

NumF = FreeFile
Open "C:\Archivo.dat" For Append As #NumF ' open textfile for new input
On Error GoTo 0
For FilaR = 1 To 20
LineString = Heliza.Range("n" & FilaR)
Print #NumF, LineString
Next FilaR
Close #NumF

Saludos,

Luis


"Héctor Miguel" escribió en el mensaje
news:
hola, Luis !

> ... codigo VBA... convertir una hoja excel con datos en una sola columna


a arhivo .dat
> ... que no me salgan comillas al comienzo y al final de cada registro.

-> considerando que la extension '.DAT' pudiera necesitar diferentes tipos


de 'estructura'
[segun la aplicacion que pudiera requerir tomar datos de ese


archivo.dat]...
una alternativa [sin vba] es guardar el archivo por la interfase de


excel [archivo / guardar como...]
-> selecciona un tipo de archivo -> Texto (OS/2 o DOS)
-> introduce nombre y extension entre comillas dobles [p.e. ->


"MiArchivo.dat"]

en pruebas realizadas, lo siguiente es lo que 'se va' al archivo '.DAT'


[archivo de texto 'realmente']...
dato original dato 'transportado'
Abcde Abcde
122 122
4.45 4.45
Texto X Texto X
Hola "mundo" "Hola ""mundo"""

-> como podras observar, las comillas SOLO 'aparecen' si el dato original


contiene alguna ;)

si necesitas que sea por codigo... prueba con algo +/- como lo


siguiente...
en un modulo de codigo 'normal' ==> Sub Guardar_Archivo_DAT()
ActiveSheet.Copy
ActiveWorkbook.SaveAs _
FileName:="MiArchivo.dat", _
FileFormat:=xlTextMSDOS
Application.DisplayAlerts = False
ActiveWorkbook.Close , False
Application.DisplayAlerts = True
End Sub

-> con respecto del 'formato' [FileFormat:=...]
revisa en la ayuda de vba el formato que [realmente] 'necesitas' .TXT,


o .CSV, o -???-
[p.e. xlCSVMSDOS, xlTextMSDOS, xlTextPrinter, xlTextWindows, etc.]

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida