Assegnare a label stampante



  • Assegnare a label stampante
    di Rita (utente non iscritto) data: 03/11/2014 14:36:56

    Ciao a tutti
    un quesito, con l'istruzione qui sotto posta in una label cliccandoci sopra ottengo la maschera dove poter scegliere una stampante
    il problema e' che sino a quando non esco da excel quella stampante mi rimane attiva ossia nella label appare sempre quella che ho selezionato
    c'e' un comando che mi riconosca in automatico qual'e' la stampante settata sul computer come stampante predefinita?

     
    Application.Dialogs(xlDialogPrinterSetup).Show
    



  • di Rita (utente non iscritto) data: 03/11/2014 14:44:39

    ho provato anche con
    Label2.Caption = Application.ActivePrinter ma viene restituita sempre l'ultima stampante utilizzata



  • di Zer0Kelvin data: 03/11/2014 22:18:34

    Devi usare una variabile per memorizzare il valore di ActivePrinter PRIMA che venga modificato.
    Prima, ripristina la stampante di default corretta di Excel; poi, inserisci il codice che riporto sotto nel modulo che contiene la macro della label.
    Al primo click verrà richiesta la scelta della stampante; al click successivo verrà ripristinata la stampante di default e così via.
     
    Dim DefaultPRinter As String
    
    Private Sub Label2_Click()
        If DefaultPRinter = "" Then
            DefaultPRinter = ActivePrinter
            Application.Dialogs(xlDialogPrinterSetup).Show
        Else
            ActivePrinter = DefaultPRinter
            DefaultPRinter = ""
        End If
        Label2.Caption = ActivePrinter
    End Sub



  • di Rita (utente non iscritto) data: 04/11/2014 08:38:15

    thanks