Imprimir página | Cerrar ventana

Introducir un texto dentro de otro

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=85178
Fecha de impresión: 26/Marzo/2026 a las 15:42


Tema: Introducir un texto dentro de otro
Publicado por: 01loko
Asunto: Introducir un texto dentro de otro
Fecha de publicación: 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.



Respuestas:
Publicado por: Mihura
Fecha de publicación: 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.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: 01loko
Fecha de publicación: 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.


Publicado por: 01loko
Fecha de publicación: 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


-------------
Recordar de que soy nuevo y estoy aprendiendo.



Imprimir página | Cerrar ventana