Contexto : Estoy intentando crear una tarea en Windows para imprimir automáticamente un archivo a cierta hora del día, ya sea que el usuario haya iniciado sesión o no.
He leído en la web que para ejecutar una tarea de esta manera, el programa o el script son más silenciosos.
Pude abrir un archivo de Excel y ejecutar la macro completamente en silencio, pero al final hay un diálogo de ventanas que dice:
Esta es la macro de Excel que uso para imprimir el documento.
Private Sub Auto_Open()
'To print use:
ThisWorkbook.Sheets("Report").PrintOut 1, 1, 1, False
End Sub
"Ahora imprimiendo ...."
Pregunta ¿Cómo puedo suprimir ese diálogo?
Este es el script VBS que estoy usando actualmente:
Option Explicit
On Error Resume Next
ExcelMacroExample
Sub ExcelMacroExample()
Dim xlApp
Dim xlBook
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\Users\Public\test.xlsm", 0, False)
xlApp.Run "Auto_Open"
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
Intenté cambiar las opciones de la función Abrir entre Falso y Verdadero, pero era lo mismo.
¿Así que tienes otra macro que se ejecuta? ¿Puedes compartir eso o una porción también?
—
glh
Creo que las API son su única esperanza y el diálogo de impresión es una función interna. Ver access.mvps.org/access/api/api0037.htm para usar.
—
glh
Agregué el código @glh
—
KoU_warch
@glh ese sitio web dice
—
KoU_warch
The Printing dialog is an internal Access dialog, and as such, cannot be hidden directly from code
¿Entonces no hay esperanza? Necesito el diálogo para no abrir en absoluto