Anteprima stampa



  • Anteprima stampa
    di ansy data: 03/12/2012 00:38:41

    Volevo chiedere io ho una Macro che mi stampa una tabella, ho il problema che dove la uso al lavoro ho diverse stampanti in linea, dalla mia macro purtroppo non posso selezionare la stampante, come posso cambiare la macro.
    Grazie chi mi aiuta.
    Anselmo
     
    Sub anteprimastampa()
        Selection.End(xlToLeft).Select
        Selection.End(xlUp).Select
        Application.ScreenUpdating = True
        Range(ActiveCell.Offset(3, 0), ActiveCell.Offset(70, 4)).PrintPreview
        ActiveCell.Offset(72, 1).Range("A1").Select
        End Sub



  • di HarryBosch data: 03/12/2012 14:18:27

    Ma questa che hai riportato è un estrapolato della macro?
    Non riesco a capir bene il ragionamento della selezione della tabella che vuoi portare in stampa.

    Nota che
    Application.ScreenUpdating
    lo dovresti dichiarare "=Falso" all'inizio della routine e reimpostarlo su "=True" prima della chiusura.

    Le due istruzioni sotto ti permettono di aprire la finestra per la richiesta della stampante da utilizzare e successivamente di eseguire la stampa:
    Application.Dialogs(xlDialogPrinterSetup).Show
    ActiveWindow.SelectedSheets.PrintOut



  • di ansy data: 03/12/2012 21:44:14

    Si è un estratto della mia macro che funziona bene se uso la stampante predefinita quando sono a casa mia, ma quando sono al lavoro, uso più stampanti, per questo chiedevo come potevo risolvere il problema.
    Grazie per la rispsota



  • di ansy data: 03/12/2012 22:00:32

    Questa istruzione serve per evidenziare la stampa di 70 righe e 4 colonne che cambiano ogni settimana
    ActiveCell.Offset(70, 4)

    Per cui questa settimane la tabella parte dalla riga 73 alla 143 la settimana dopo dalla 143 alle 213 e via di seguito ogni settimana



  • di HarryBosch data: 04/12/2012 08:47:43

    L'istruzione era chiara, ma non capivo il ragionamento; quindi ogni settimana ti serve mandare in stampa 70 righe e 4 colonne. La prima istruzione si basava su una "selection" e per questo ti chiedevo se la routine era un estrapolato di una parte più ampia.
    E dopo l'anteprima di stampa, che devi chiudere "manualmente" per continuare, attivi una cella ma terminando la sub (e quindi senza un reale utilizzo).

    Comunque con "Application.Dialogs(xlDialogPrinterSetup).Show" apri la finestra che ti permette di decidere la stampante da utilizzare, con l'elenco di tutte le stampanti disponibili in rete, virtuali comprese.



  • di ansy data: 04/12/2012 21:29:57

    Ho messo l'istruzione che mi hai scritto dove pensavo potesse funzionare, ma purtroppo nulla, così non funziona nemmeno a casa mia.
    Fino all'istruzione che avevo vecchia è tutto ok, quando poi passo all'applicazione che mi hai messo, mi mette appare una finestra di dialogo con le stampanti che ho in dispositivi, ma non fa nulla di quello che mi serve.
    Sicuramente sbaglio qualcosa.
    Grazie infinite per la pazienza
     
    Sub anteprimastampa2()
        Selection.End(xlToLeft).Select
        Selection.End(xlUp).Select
        Application.ScreenUpdating = True
        Range(ActiveCell.Offset(3, 0), ActiveCell.Offset(70, 4)).Select
        Application.Dialogs(xlDialogPrinterSetup).Show
        End Sub



  • di Vecchio Frac data: 05/12/2012 11:59:09

    cit. " ma non fa nulla di quello che mi serve. "
    ---> Bè, se non dai il comando di stampa o di anteprima probabilmente è giusto che non succeda niente ^_^

    Per l'anteprima la tua Sub dovrà risultare così:

    Application.Dialogs(xlDialogPrinterSetup).Show
    Selection.PrintOut PreView:=True 'metti PreView a False per stampare direttamente senza passare dall'anteprima








  • di ansy data: 05/12/2012 23:30:48

    Grazie infinite così funziona perfettamente.