Actualizar imágenes
Buenas RALVARADOT
Estoy haciendo un programa con VBA en Excel 2007 para imprimir unas fichas con texto e imágenes. Las imágenes son archivos jpg independientes que el programa carga correctamente:
Sub Actualiza_imagenes()
Dim Foto1 As String
Dim Foto2 As String
Dim Foto3 As String
Dim RutaFotos As String
RutaFotos = Worksheets("Ficha tipo").Range("L14")
Foto1 = Range("L11")
Foto2 = Range("L12")
Foto3 = Range("L13")
Image1.Picture = LoadPicture(RutaFotos & Foto1)
Image2.Picture = LoadPicture(RutaFotos & Foto2)
Image3.Picture = LoadPicture(RutaFotos & Foto3)
End Sub
El problema es que la macro que va actualizando la información y mandando imprimir las fichas lanza la impresión antes de que le de tiempo a cargar y visualizar las fotos por lo que muchas veces imprime el texto correcto con las imágenes de alguna ficha anterior.
Sub Impresion()
Dim Inicio As Integer
Dim Final As Integer
Dim NumeroFicha As Integer
Inicio = Worksheets("Ficha tipo").Range("O1")
Final = Worksheets("Ficha tipo").Range("O2")
For NumeroFicha = Inicio To Final
Worksheets("Ficha tipo").Range("L2") = NumeroFicha
Call Actualiza_imagenes
ActiveWorkbook.RefreshAll
Worksheets("Ficha tipo").PrintOut Copies:=1
Next
End Sub
He intentado controlar los eventos del objeto Image, pero al estar incrustados en la hoja de Excel parece que no es posible. ¿Qué solución le podría dar?
Muchas gracias por anticipado y un saludo,
Estoy haciendo un programa con VBA en Excel 2007 para imprimir unas fichas con texto e imágenes. Las imágenes son archivos jpg independientes que el programa carga correctamente:
Sub Actualiza_imagenes()
Dim Foto1 As String
Dim Foto2 As String
Dim Foto3 As String
Dim RutaFotos As String
RutaFotos = Worksheets("Ficha tipo").Range("L14")
Foto1 = Range("L11")
Foto2 = Range("L12")
Foto3 = Range("L13")
Image1.Picture = LoadPicture(RutaFotos & Foto1)
Image2.Picture = LoadPicture(RutaFotos & Foto2)
Image3.Picture = LoadPicture(RutaFotos & Foto3)
End Sub
El problema es que la macro que va actualizando la información y mandando imprimir las fichas lanza la impresión antes de que le de tiempo a cargar y visualizar las fotos por lo que muchas veces imprime el texto correcto con las imágenes de alguna ficha anterior.
Sub Impresion()
Dim Inicio As Integer
Dim Final As Integer
Dim NumeroFicha As Integer
Inicio = Worksheets("Ficha tipo").Range("O1")
Final = Worksheets("Ficha tipo").Range("O2")
For NumeroFicha = Inicio To Final
Worksheets("Ficha tipo").Range("L2") = NumeroFicha
Call Actualiza_imagenes
ActiveWorkbook.RefreshAll
Worksheets("Ficha tipo").PrintOut Copies:=1
Next
End Sub
He intentado controlar los eventos del objeto Image, pero al estar incrustados en la hoja de Excel parece que no es posible. ¿Qué solución le podría dar?
Muchas gracias por anticipado y un saludo,
1 respuesta
Respuesta de Roberto Alvarado
1