La Web del Programador: Comunidad de Programadores
 
    Pregunta:  39079 - COMO CHEQUEAR SI UNA IMPRESORA ESTA CONECTADA O NO A LA PC
Autor:  Marcelo Bursztyn
Holas. mi pregunta es basicamente esa, como puedo ahcer para cheuqear si uuna impresora esta conectada a la pc en el sentido de poder armar un if que sea

If <impresora conectada en la pc> Then
<instrucciones varias>
endif


  Respuesta:  Luis Muro
Hola.
Tu pregunta es interesante y algo complicada, puesto que ahora existen las colas de impresión y eso hacen que las impresiones no retornen de inmediato cuando la impresora no está en línea.

Así que, lo que puedes hacer es controlar el error de retorno al fallar una impresión: Error 482 (impresora sin línea, otros).

Private Sub Form_Click ()
Dim HWidth, HHeight, I, Msg ' Declara variables.
Err.Clear
On Error GoTo ErrorHandler ' Configura controlador de errores.
Msg = "Esto se imprime en la página"
For I = 1 To 2 ' Establece dos iteraciones.
HWidth = Printer.TextWidth(Msg) / 2 ' Obtiene la mitad del ancho.
HHeight = Printer.TextHeight(Msg) /2 ' Obtiene la mitad del alto.
Printer.CurrentX = Printer.ScaleWidth / 2 - HWidth
Printer.CurrentY = Printer.ScaleHeight / 2 - HHeight
Printer.Print Msg & Printer.Page & "." ' Imprimir.
Printer.NewPage ' Envía una página nueva.
Next I
Printer.EndDoc ' La impresión ha terminado.
Msg = "Se han enviado a la impresora dos páginas, cada una de ellas "
Msg = Msg & "con una única línea centrada de texto."
MsgBox Msg ' Muestra el mensaje.
Exit Sub
ErrorHandler:
If Err.Number=482 Then MsgBox "Impresora no está preparada"
Exit Sub
End Sub

Espero te sirva.

Saludos