** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Introducir un texto dentro de otro
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoIntroducir un texto dentro de otro

 Responder Responder
Autor
Mensaje
01loko Ver desplegable
Colaborador
Colaborador


Unido: 17/Agosto/2017
Localización: Santander
Estado: Sin conexión
Puntos: 807
Enlace directo a este mensaje Tema: Introducir un texto dentro de otro
    Enviado: 18/Abril/2020 a las 19:35
Veamos si lo dejo claro:

Tengo un texto (fichero_htm) en el que deseo cambiar las rutas relativas por rutas absolutas, usease tengo "/nombrearchivo_archivos/" y quiero que ponga c:/rutacompleta/nombrearchivo_archivos" he llegado hasta :
Dim ruta_final As String
Dim ARCHIVO As String
Dim Ruta As String
Dim Archivo_htm As String
ARCHIVO = "1" 'nombre archivo
Ruta = Application.CurrentProject.Path & "\"
ruta_final = Ruta & ARCHIVO & ".htm" 'ruta del archivo con extension
larchivo = Len(Ruta & ARCHIVO & "_ARCHIVOS") 'longitud del la ruta donde van las fotos
Ruta_1 = cambiabarras(Ruta) ' ruta con las barras cambiadas
ruta_final_1 = cambiabarras(ruta_final)  'ruta completa con las barras cambiadas
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(ruta_final).OpenAsTextStream(1, -2)
Archivo_htm = ts.readall
parada = 0
primera_letra = 1
ts.Close
comienzo:
total_caracteres = Len(Archivo_htm)
parada = InStr(primera_letra, Archivo_htm, ARCHIVO & "_archivos")  'donde debemos insertar
If parada = 0 Or IsNull(parada) Or parada = -1 Or parada > total_caracteres Then GoTo salta
inicio = Left(Archivo_htm, parada - 1) 'antes de la insercion
final = Right(Archivo_htm, total_caracteres - parada) 'despues de la insercion
Archivo_htm = inicio & Ruta_1 & final
primera_letra = parada + larchivo
espera (1) 'parada en segundos
GoTo comienzo
salta:
nFile = FreeFile
Open Application.CurrentProject.Path & "\Archivo.txt" For Output As #nFile
Print #nFile, Archivo_htm
Close nFile

pero aunque en la primera vez que aparece lo hace correctamente, en las siguientes se va comiendo letras de detras de la insercion.


haber si alguien ve el error
Recordar de que soy nuevo y estoy aprendiendo.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Enviado: 18/Abril/2020 a las 19:46
Hay funciones que se desconocen: cambiabarras

De todas formas es mucho más simple usar un replace para lo que te propones:

cadena = replace(cadena, "/nombrearchivo_archivos/", "c:/rutacompleta/nombrearchivo_archivos/")
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
01loko Ver desplegable
Colaborador
Colaborador


Unido: 17/Agosto/2017
Localización: Santander
Estado: Sin conexión
Puntos: 807
Enlace directo a este mensaje Enviado: 18/Abril/2020 a las 21:56
Gracias Mihura:

Cambiabarras es para cambiar "\" por "/" ya que html creo que las coje asi

Pruebo con replace (que curiosamente utilizo para cambiabarras)


Recordar de que soy nuevo y estoy aprendiendo.
Arriba
01loko Ver desplegable
Colaborador
Colaborador


Unido: 17/Agosto/2017
Localización: Santander
Estado: Sin conexión
Puntos: 807
Enlace directo a este mensaje Enviado: 19/Abril/2020 a las 08:48
Perfecto Mihura, muchas gracias.

No entiendo como empece a liarme para hacerlo


Muchas gracias, repito.

Edito: Podeis cerrar el hilo


Editado por 01loko - 19/Abril/2020 a las 08:49
Recordar de que soy nuevo y estoy aprendiendo.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable