Imprimir un pdf desde un formulario de access

Estaría agradecido si me dais un poco de luz a una duda, tengo un formulario llamado "Entradas", basado en una tabla llamada "Facturas" que tiene un campo que contiene la ubicación del fichero pdf de la factura y tengo un botón de comando que al hacer clic, me abre el pdf de esa factura y me gustaría tener otro botón que me permita imprimir directamente ese pdf sin necesidad de abrir el diálogo de impresión ni confirmación.

1 Respuesta

Respuesta
2

Hay varias formas:

1º/ usar el modelo WHS, poniendo en el código de tu botón:

CreateObject("Shell.Application").Namespace(0).ParseName(Me.Archivo).InvokeVerb ("Print")

2º/ Usando APIs, en concreto ShellExecute:

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub cmdAbrir_Click()
ShellExecute Me.hwnd, "Open", Me.Archivo, "", "", 1
End Sub
Private Sub cmdImprimir_Click()
ShellExecute Me.hwnd, "Print", Me.Archivo, "", "", 1
End Sub

Primero declaras la función de la API (línea del Private declare...) y después tienes los códigos para abrir el archivo y para imprimirlo.

En ambos ejemplos he supuesto que el campo que contiene la ruta y nombre con extensión del archivo se llama Archivo. Si no fuera así, tendrías que cambiar esa parte en los códigos.

Un saludo.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas