SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: mcrex en Lunes 8 de Noviembre de 2004, 21:01
-
Utilizo el siguiente codigo para abrir un documento word y sustituir texto para personalizarlo (para eso uso %palabra)
El problema es que si lo hago a un grupo de registros en el segundo registro me pone "el documento que intenta abrir esta siendo utilizado."
Si lo mando directamente a imprimir con xword.activedocument.printout lo mismo
¿como puedo hacer un bucle que ejecute esto para cada registro y no de error ?
este es mi codigo para uno solo
Dim xWord As Word.Application
Dim xRange As Range
Set xWord = New Application
xWord.Visible = False
xWord.Documents.Add A
Set xRange = xWord.ActiveDocument.Range
xRange.Find.Execute "%dni", , , , , , , , , Format(Historia.Data1.Recordset.nif, ">"), True
xWord.ActiveDocument.SaveAs "c:\plantillas\tp" & File2.FileName
xWord.Visible = True
xWord.WindowState = wdWindowStateMaximize
xWord.Application.Activate
Set xWord = Nothing
-
:blink: Amigo disculpa pero creo que debes explicarte un poco mejor, en fin un error que suele suceder si te entendi es cuando guardamos archivos de manera consecutiva y no estamos seguros de que tienen un nombre diferente, lo que puedes hacer es que a la hora de salvar te acegures que el nombre del archivo que intentas salvar, no sea igual a uno previamente almacenado, lo que te recomiendo hacer seria pedirle el nombre del archivo al final del bucle tu sabras como o simplemente puedes probar con este framento de tu codigo
xWord.ActiveDocument.SaveAs "c:\plantillas\tp" & File2.FileName
colocando al final de tu busqueda de registro, aunque quedaria con el nombre del ultimo registro o archivo buscado. Espero haberte podio ayudar, aunque sea lo intente. Cualquier cosa avisanos B) Me voy de fiesta :beer: :birthday:
-
:P No se te olvide ambas opciones deben ser fuera de tu bucle B)