La Web del Programador: Comunidad de Programadores
 
    Pregunta:  62731 - IMPRIMIR UNA PAGINA WEB DESDE UN PROGRAMA EN ACCESS
Autor:  Antonio Lopez
Hola a tod@s

Mi problema es el siguiente:

Desde un programa en access monto un página (XML) y a continuación la abro en el Internet Explorer. Lo que quiero es imprimir esta página desde el programa indicando que saque 2 copias sin que aparezca la pantalla de impresión (esto si que lo saco):

Const OLECMDID_PRINT = 6
Const OLECMDEXECOPT_PROMPTUSER = 1
Const OLECMDEXECOPT_DONTPROMPTUSER = 2

Set IE = CreateObject("InternetExplorer.Application")

With IE
.Visible = True
.AddressBar = True
.MenuBar = True
.StatusBar = True
.Toolbar = True
.Navigate2 "http\....." (la pagina a mostrar)
End With

IE.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER

Pero no me imprime la página, me saca el promt de impresión cuando en teoria con OLECMDEXECOPT_DONTPROMPTUSER no me lo deberia sacar.

Alguna sugerencia para imprimir directamente la pagina una vez mostrada y con 2 copias

Un saludo

Antonio

  Respuesta:  Nicanor Hernandez
Utiliza la función sendkeys

Cuando logras que se muestre la ventana de impresión, mandas SendKeys {TAB}, tantas veces como requieras para llegar al campo copias, luego SendKeys 2 para las copias y luego SendKeys {ENTER}, para imprimir.

Saludos y espero que te sirva!