Macro per stampa fronte retro



  • Macro per stampa fronte retro
    di Pino (utente non iscritto) data: 26/03/2015 15:24:48

    Ho una cartella di lavoro, che contiene una ventina di fogli. Ho la necessità di stamparne solo alcuni; per fare questo, perchè è un'operazione che devo eseguire spesso (stampando sempre gli stessi fogli) ho pensato di creare una macro, che allego:
    Sub Stampa()
    Sheets("Fronte").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
    :=True, IgnorePrintAreas:=False
    Sheets("Anagrafica").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
    :=True, IgnorePrintAreas:=False

    Sheets("Mansione").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
    :=True, IgnorePrintAreas:=False

    Sheets("VST").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
    :=True, IgnorePrintAreas:=False

    Sheets("VPR").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
    :=True, IgnorePrintAreas:=False

    Sheets("APT").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=3, Copies:=1, Collate _
    :=True, IgnorePrintAreas:=False

    Sheets("OPT").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
    :=True, IgnorePrintAreas:=False

    Sheets("ETR").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
    :=True, IgnorePrintAreas:=False

    Sheets("VTT").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1, Collate _
    :=True, IgnorePrintAreas:=False

    End Sub

    La macro funziona bene. Il mio problema è che vorrei economizzare carta, considerando che i vari fogli da stampare contengono testo su una sola pagina (due fogli hanno rispettivamente 2 e 3 pagine). Io utilizzo un paio di stampanti che mi fanno il fronte/retro in automatico: questo funziona se stampo manualmente i singoli fogli, ma non so se sia possibile inserire il comando nella macro.
     
       



  • di Luca73 data: 27/03/2015 10:39:40

    Ciao
    senza file mi risula difficile rispondere anche perchè non capisco alcune tue scelte.
    ad esempio quando scrivi "From:=1, To:=1," è perchè ci sono altri intervalli da stampare oppure no?
    secondo me se stampi un foglio (excel) per volta con una sola pagin anon c'è modo una soluzione forse tattibile e selezionare tutti i fogli e farli stampare assieme prendendo le impostazioni della stampante.


     
    Sheets(Array("Fronte", "Mansione", "VST",......)).Select






  • di Pino (utente non iscritto) data: 27/03/2015 12:11:27

    Nello specifico il From:=1, To:=1 sta ad indicare che per quel foglio deve essere stampata solo la prima pagina (per alcuni fogli come vedi c'è To:=3 perchè devono essere stampate le prime tre pagine). Io vorrei che la macro lanciasse la stampa dei fogli indicati uno di seguito all'altro, compresa l'opzione fronte/retro: esiste una soluzione del genere?.



  • di Luca73 (utente non iscritto) data: 27/03/2015 17:29:21

    Domanda tu sai a priori quante pagine saltare? Intendo tu vuoi stampare la pagina 1 di quante?se così fosse potresti provare sempre con au array di sheets e poi dirgli di stampare la pagina 1 e poi la n+1 se sono quelle da saltare dello sheet 1 e così via



  • di Pino (utente non iscritto) data: 27/03/2015 18:45:38

    Forse non ho spiegato bene il mio problema. Nella cartella di lavoro ho una ventina di fogli; di questi ne devo stampare 5-6, sempre gli stessi. La macro che ho registrato fa il lavoro alla perfezione: stampato il contenuto di un foglio stampa, su un'altra pagina, il contenuto del foglio successivo, e così via fino alla fine. In pratica: il contenuto di ciascun foglio Excel viene stampato su una pagina nuova. Io vorrei, diciamo per economia, utilizzare meglio la carta: vorrei perciò che il contenuto poniamo del secondo foglio di lavoro fosse stampato sul retro della pagina sulla quale, sul davanti, è stato già stampato il contenuto del primo foglio. E' possibile fare questo con una macro??