Controlar Ventana desde vba excel...

Del foro.

Tengo un código que me combina dos archivos mediate el programa "PDF Creator".

En principio va bien, el código me imprime un archivo pdf sin problemas, pero al momento de imprimir un archivo "JPG" me salta el siguiente inconveniente.

El Código es el siguiente:

'Abre la ventana de Impresión del archivo
       ShellExecute 0, "print", RutaArchivo, "", "", vbHide
'Verifica si la ventana esta abierta para ejecutar el comando "Imprimir"
       ret = FindWindow(ArchivodeVentana, vbNullString)
Reintentar:
       If ret <> "" Then
             hwnd = FindWindow(vbNullString, "Imprimir Imágenes")
                   If SetForegroundWindow(hwnd) = 1 Then 
                               SendKeys "{enter}"
                   End If
       Else
               GoTo Reintentar
        End If

En principio va bien, abre la ventana de impresión del archivo, pero el usuario tiene que colocar "imprimir".

Copie un código de otra página, la cual me verificaba si estaba abierto ya la ventana de impresión de la imagen, para que luego excel por "SendKeys" me coloque imprimir, pero el problema es que excel no retoma el foco en esa ventana para poder enviar el comando.

Tienen idea de cual es el problema o si habría otra

1 Respuesta

Respuesta

Si el problema es que no retoma el foco a la ventana correcta podrías en alguna parte del código declarar la ventana como una variable por ejemplo así

prueba= ActiveWorkbook.Name

Y donde necesitas que retome el foco a esa ventana le indicas:

Windows(prueba). Activate

Asi queda sobre esa ventana. Yo personalmente para imprimir y que el usuario no tenga que pulsar el boton imprimir utilizo el siguiente comando:

ActiveSheet. PrintOut

Si te sirvió de ayuda, por favor recuerda calif&car la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas