VBA Excel - conoscere stato della stampante

Anonimo
2014-05-06T08:12:39+00:00

Ciao a tutti,

ho un problema che non riesco a risolvere.

Ho scritto un'applicazione VBA (usato il VBA "per motivi storici") con la quale - tra le altre cose - eseguo delle stampe. Ho trovato una routine per estrarre tutte le stampanti installate, ma non riesco a sapere se la singola stampante è attiva oppure no.

In particolare, mi trovo con stampanti "doppie" (tipo: SAMSUNG-ML2160 Series (Copia 1) su NE003:", ecc. - talora "triple"), per cui se scelgo, ad esempio, la prima, in realtà poi non si produce la stampa (perchè, fisicamente - credo - il cavo non è attaccato su NE003: ma su qualche altro NExxx:). Pensavo di risolvere con "ActivePrinter", ma non funziona (mi restituisce il nome della stampante, ma poi ... è quella sbagliata).

Come potrei fare per risolvere questo problema?

Grazie in anticipo e buona giornata

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2014-05-07T06:37:31+00:00

Ho provato, ma ... non viene! In particolare, OpenPrinter mi dà "0". Pazienza, ringrazio per le sollecite risposte e vedrò come fare (ma possibile non ci sia una soluzione semplice?).

Buon lavoro

Perché il nome della stampante non è corretto, Utilizza il codice allegato per ottenere l'elenco delle stampanti installate sul tuo pc e lo status (che però non è quello che serve a te).

Maggiori dettagli qui.

Andrea.


Public Sub PrintersInstalled()

Dim wmi As Object, prn As Object

  On Error GoTo Uffa

  Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\.\root\cimv2")

  For Each prn In wmi.ExecQuery("Select * from Win32_Printer")

    Debug.Print prn.name, prn.PrinterStatus, prn.Status

  Next

Uffa:

  Set wmi = Nothing:  Set prn = Nothing

End Sub


La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-05-07T08:59:01+00:00

    Grazie. Funziona "abbastanza", perchè mi dà "Ready" sia la prima stampante che la seconda (in realtà Copia della prima), ma la stampa esce fisicamente solo sulla prima. Penso che risolverò con con uno "Stampa pagina di prova".

    Grazie ancora e buona giornata

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-05-06T20:10:28+00:00

    Ho provato, ma ... non viene! In particolare, OpenPrinter mi dà "0". Pazienza, ringrazio per le sollecite risposte e vedrò come fare (ma possibile non ci sia una soluzione semplice?).

    Buon lavoro

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-05-06T14:20:50+00:00

    Tanto per darti un'idea ...

    Mente fresca, eh!

    Bentornato.

    Grazie ... Capo. ;)

    La risposta è stata utile?

    0 commenti Nessun commento