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