Archivo Plano

25/11/2004 - 17:37 por César H. | Informe spam
Cordial saludo y gracias anticipadas.

Resulta que tengo la necesidad de generar un archivo plano que va a generar
una línea por registro de 1251 Caracteres en total para 51 Columnas de ancho
fijo (si es Date de 8, Bit de uno, etc.)

El problema radica que intente hacerlo con OPEN pero se me presentan dos
problemas, Me genera un error argumentando que el ancho no es permitido para
el archivo abierto y otro que el archivo queda con caracteres de control.

Envio un fragmento de la rutina.


Sub PlanoFile()
Dim TextoLargo As String
Open "PRUEBA.txt" For Random As #1
Sheets("Plano").Activate
' Lo hago para 5 registros de prueba
For I = 1 To 5 ' For j = 1 To 51
TextoLago = TextoLago & Cells(I, j).Value
Next j
Put #1, , TextorLago
' Escribe el registro en el archivo.
Next I
Close #1 ' Cierra el archivo.
End Sub


Quien me pueda ayudar indicandome si puedo usar otra función o como puedo
facilitarme la vida ya que no quiero hacer esto desde VB por la urgencia que
se tiene de esta información y tendría que modificar ciertos objetos COM+ que
me obligarían a reinstalar.

Saludos
 

Leer las respuestas

#1 César H.
25/11/2004 - 18:31 | Informe spam
Gracias, ya lo resolví con Print x Put

Saludos


César




"César H." escribió:

Cordial saludo y gracias anticipadas.

Resulta que tengo la necesidad de generar un archivo plano que va a generar
una línea por registro de 1251 Caracteres en total para 51 Columnas de ancho
fijo (si es Date de 8, Bit de uno, etc.)

El problema radica que intente hacerlo con OPEN pero se me presentan dos
problemas, Me genera un error argumentando que el ancho no es permitido para
el archivo abierto y otro que el archivo queda con caracteres de control.

Envio un fragmento de la rutina.


Sub PlanoFile()
Dim TextoLargo As String
Open "PRUEBA.txt" For Random As #1
Sheets("Plano").Activate
' Lo hago para 5 registros de prueba
For I = 1 To 5 ' For j = 1 To 51
TextoLago = TextoLago & Cells(I, j).Value
Next j
Put #1, , TextorLago
' Escribe el registro en el archivo.
Next I
Close #1 ' Cierra el archivo.
End Sub


Quien me pueda ayudar indicandome si puedo usar otra función o como puedo
facilitarme la vida ya que no quiero hacer esto desde VB por la urgencia que
se tiene de esta información y tendría que modificar ciertos objetos COM+ que
me obligarían a reinstalar.

Saludos



Preguntas similares