** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Eliminar Salto de Linea
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoEliminar Salto de Linea

 Responder Responder
Autor
Mensaje
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1258
Enlace directo a este mensaje Tema: Eliminar Salto de Linea
    Enviado: 24/Enero/2020 a las 17:54
Access_2010 vs Windows_7
Buenas tardes
Tras crear un fichero de texto  con el clasico:
Open PatFile For Append As #1
Print #1, contenido
Close #1

Me encuentro con que el Block de notas sin haber introducido en el código ningun vbcrlf (Salto de linea ni retroceso carro), genera automaticamente un salto de linea al final del texto.
Eso hace que el destinatario del fichero me lo rechace con un mensaje "No se permiten saltos de linea".
La pregunta:
Una vez generado, o antes si esto se puede evitar, como puedo por codigo añadir un retroceso al final del archivo para eliminarlo.
Saludos
Arriba
emiliove Ver desplegable
Administrador
Administrador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5694
Enlace directo a este mensaje Enviado: 24/Enero/2020 a las 18:53
hola Main

Mira esto:
http://excelgali.foroactivo.com/t1108-eliminar-retornos-de-carro-enter-asc10-o-asc13-dentro-de-un-archivo-txt
Y esto otro:

https://stackoverflow.com/questions/10024402/how-to-remove-line-break-in-string


Saludos.
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3523
Enlace directo a este mensaje Enviado: 24/Enero/2020 a las 20:11
Hola.
El siguiente código de ejemplo que he sacado del baúl de los recuerdos.

Option Compare Database
Option Explicit
Type mreg    ' Define un tipo definido por el usuario.
    mId As Boolean
    mNom As String * 50
    mfac As Currency
    mdate As Date
    mdouble As Double
    mfinal As String * 3
End Type

Public Sub exportaficherrandom()
'crea un fichero sin finales de linea ni final de fichero
Dim mnumfitx As Integer
Dim nomfitx As String
Dim mregistre As mreg
Dim jj As Long
nomfitx = CurrentProject.Path & "\mfitxerexport.txt"
Kill nomfitx
mnumfitx = FreeFile

Open nomfitx For Random As #mnumfitx Len = Len(mregistre)
'añade 10 'registros'
For jj = 1 To 20
  
  mregistre.mId = (jj Mod 2) * (-1)
  mregistre.mNom = "no hay 50, añade espacios por detras"
  mregistre.mfac = jj
  mregistre.mdate = Now + jj
  mregistre.mdouble = jj + jj / 1000
  mregistre.mfinal = "FIN"
   Put #mnumfitx, jj, mregistre
Next
Close #mnumfitx
End Sub

Crea una cadena "infinita" con diversos tipos de datos y sin retornos de carro ni final de fichero.
Espero que sea parecido a lo preguntado y que sirva de ayuda
Ya comentas.
Un saludo a todos
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1258
Enlace directo a este mensaje Enviado: 24/Enero/2020 a las 21:41
Buenas noches:
Muy agradecido a ambos:
Os dejo mis soluciones, porque me han funcionado ambas.
1º.-
Open "C:\ANETO\1525.txt" For Binary As #1
Put #1, 1, Contenido
Close #1
----------------------------------------
2º.-
Private Sub CreaFiletxt()
On Error GoTo ErrCreate
Dim objStream As stream
Set objStream = CreateObject("ADODB.Stream")
objStream.Charset = "iso-8859-1"
objStream.Open
objStream.WriteText Contenido, adWriteChar
objStream.SavetoFile "C:\ANETO\1525.txt", adSaveCreateOverWrite

CleanUp:
    On Error Resume Next
    objStream.Close
    Set objStream = Nothing
    Exit Sub
ErrCreate:
    MsgBox "Error: " & Err.description
    Resume CleanUp
    Resume
End Sub
Saludos para todos
Se puede cerrar este tema


Editado por main - 24/Enero/2020 a las 21:41
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable