Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/11/2011, 12:49
Avatar de A.H.H
A.H.H
 
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 17 años
Puntos: 4
Respuesta: Imprimir el pdf a una impresora especifica

Hola en el siguiente ejemplo se usa un listbox, un commandbutton, y el control AcroPdf de Adobe Acrobat.

Primero listas las impresoras disponibles en un listbox y cargas el archivo.pdf en el control AcroPDF1:

Cita:
Private Sub Form_Load()
Dim x As Printer, impr As String
'Listamos en el control List1 las impresoras instaladas'
For Each x In Printers
List1.AddItem x.DeviceName
Next

AcroPDF1.LoadFile ("ruta a mi archivo.pdf")
End Sub
Despues con un boton command1, haces que la impresora elegida de la lista del listbox sea la que imprime el archivo.pdf , que para ello usamos una funcion llamada por ejemplo Establecer_Impresora() que se expone mas abajo.

Cita:
Private Sub Command1_Click()
'Le enviamos la impresora que se encuentre seleccionada en el control List1'

If List1.Selected(List1.ListIndex) Then
Establecer_Impresora List1
End If
'imprimimos todo el documento pdf'

AcroPDF1.printAll
End Sub
'Esta es la funcion para establecer la impresora elegida en el listbox'

Cita:
Private Function Establecer_Impresora(ByVal NamePrinter As String) As Boolean
On Error GoTo errSub

'Variable de referencia
Dim obj_Impresora As Object

'Creamos la referencia
Set obj_Impresora = CreateObject("WScript.Network")
obj_Impresora.setdefaultprinter NamePrinter

Set obj_Impresora = Nothing

'La función devuelve true y se cambió con éxito
Establecer_Impresora = True
MsgBox "La impresora se cambió correctamente", vbInformation
Exit Function


'Error al cambiar la impresora
errSub:
If Err.Number = 0 Then Exit Function
Establecer_Impresora = False
MsgBox "error: " & Err.Number & Chr(13) & "Description: " & Err.Description
On Error GoTo 0
End Function


FUENTE-->http://www.recursosvisualbasic.com.a...erminada.htm#1


SALU2