Discussion:
Convertir a .DAT
(demasiado antiguo para responder)
lm
2005-11-06 15:37:56 UTC
Permalink
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
Héctor Miguel
2005-11-07 00:27:40 UTC
Permalink
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.
lm
2005-11-07 11:58:33 UTC
Permalink
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
Post by Héctor Miguel
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...]
Post by Héctor Miguel
-> 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']...
Post by Héctor Miguel
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 ;)
Post by Héctor Miguel
si necesitas que sea por codigo... prueba con algo +/- como lo
siguiente...
Post by Héctor Miguel
=== 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.
Loading...