Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Imposta cassetto stampante per ogni foglio

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Imposta cassetto stampante per ogni foglio

Postdi zanatta77 » 27/05/14 19:29

Salve a tutti,
come da titolo, sto cercando di trovare un modo per lanciare una stampa direttamente dal foglio d'interesse (nel mio caso sono 3) con cassetto di alimentazione della carta personalizzato.
Ho cercato un po' in giro sul web e pare che tutto ruoti attorno all'istruzione paperbin, che però no ho trovato sulla guida di excel.
Infatti, tutti gli esempi e le discussioni sono incentrate su access.
Quello che vorrei fare visto che la stampante che uso come predefinita possiede 3 cassetti (cassetto1, cassetto2, cassetto multifunzione) è semplicemente far alimentare la carta (cassetto) in base al foglio su cui faccio click stampa.
Praticamente nei cassetti o messo 1) carta A4 normale 2) carta riciclata 3) Buste per spedizione.
Quindi facendo stampa su foglio1 si alimenterà dal cassetto1 e così via .....
ho provato a registrare una macro per vedere lo script ma non mi visualizza un bel niente.
ho provato anche ad andare a settare manualmente su file, stampa, proprietà stampante e selezionare il cassetto voluto facendo infine salva per ogni foglio, ma nel momento in cui chiudo e vado a riaprire la cartella d'interesse trovo nella schermata citata pocanzi sempre il cassetto di default.
Qualcuno può aiutarmi per non andare manualmente ogni volta a settare le proprietà della stampante.
Grazie
Windows 8
Office 2010
Avatar utente
zanatta77
Utente Senior
 
Post: 114
Iscritto il: 01/12/12 16:12

Sponsor
 

Re: Imposta cassetto stampante per ogni foglio

Postdi Dylan666 » 27/05/14 23:22

Workaround: crei tre code di stampa (cioè stampanti di Windows) che puntano tutte alla stessa periferica ma ciascuna ha come predefinito un cassetto diverso.
A questo punto ti basterebbe fare in modo che il bottone del foglio 1 stampi sulla stampante 1 (che ha come predefinito il cassetto A4), il bottone del foglio 2 stampi sulla stampante 2 (che ha come predefinito il cassetto carta riciclata) e così via.
Purtroppo non è sepice interagire coi driver, che sono pezzi di software che cambiano da produttore a produttore.
In Word forse sarebbe stato pià facile dato che nel suo menù "Carta" ha anche la selezione del cassetto:
http://word.tips.net/T001697_Specifying ... Macro.html
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: Imposta cassetto stampante per ogni foglio

Postdi zanatta77 » 28/05/14 06:28

Nello specifico settando le opzioni di stampa, cosa dovrei aggiungere a questa macro come oggetto e membro per far si che cambi il cassetto.
Sempre che si possa fare
Codice: Seleziona tutto
Sub Stampa()
Dim St1 As String
St1 = "PDF24 PDF su Ne00:"   
    Application.ActivePrinter = St1
    Sheets("Foglio1").Activate
    ActiveSheet.PageSetup.PrintArea = "$B$3:$E$49"
    With ActiveSheet.PageSetup
         'orientamento orizzontale
        .Orientation = xlLandscape
        .PaperSize = xlPaperA4
        .PaperBin = ???????????????????????????
    End With
    ActiveWindow.SelectedSheets.PrintOut , Copies:=1, Collate:=True
Windows 8
Office 2010
Avatar utente
zanatta77
Utente Senior
 
Post: 114
Iscritto il: 01/12/12 16:12

Re: Imposta cassetto stampante per ogni foglio

Postdi Dylan666 » 28/05/14 08:38

Quello che hai a disposizione per PageSetup è elencato qui:
http://msdn.microsoft.com/en-us/library ... 15%29.aspx

Non vedo nulla di utile
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: Imposta cassetto stampante per ogni foglio

Postdi Anthony47 » 28/05/14 14:59

Nel vba di excel l' oggetto PageSetup non ha una proprieta' PaperBin e quindi non ha nessun controllo sul cassetto della stampante.

Dylan ti ha suggerito di crearti tre stampanti, ognuna delle quali ha un impostato come default uno specifico cassetto; poi usi la 1 per stampare con un cassetto, la 2 per un' altro cassetto e la 3 per l' altro ancora. Presuppone che, sempre nelle impostazioni della stampante, "Selezione del cassetto" sia impostato in Manuale (o non Automatico).

Altri suggerimenti:
1-Avvia il dialogbox per la scelta della stampante (a mano o con l' istruzione SelPrint = Application.Dialogs(xlDialogPrint).Show)
Poi controlla se c' e' un modo per arrivare a impostare il cassetto con una sequenza di tasti particolari (sono le lettere "sottolineate" che compaiono nei vari campi, che usate insieme al tasto Alt attivano le varie scelte); se questa sequenza esiste allora puoi provare a inviarla usando il comando vba SendKeys; ma sia chiaro che questo e' un po' un lavorare alla cieca, e comunque il comportamento su pc diversi con driver stampanti diversi puo' essere diverso.

2-Cerca come impostare il cassetto stampante usando le api di sistema, facendo una ricerca su google con la stringa
Set paper tray system api

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Imposta cassetto stampante per ogni foglio

Postdi zanatta77 » 03/06/14 19:26

Grazie a tutti
ho risolto come suggerito da voi creando 3 stampanti con default per ognuna un cassetto diverso aggiungendo poi quanto segue per ogni foglio:
Codice: Seleziona tutto
Sub CambiaStampante()
Dim strPrinterOld As String
Set objPrinter = CreateObject("WScript.Network")
strPrinterOld = Application.ActivePrinter
strPrinterOld = Replace(strPrinterOld, " su Ne02:", "")
objPrinter.SetDefaultPrinter "Lexmark T644 (MS)"  'cambio la stampante predefinita
Foglio1.Printout
objPrinter.SetDefaultPrinter "Lexmark T644 (1)"
End Sub

La terza stampante l'ho chiamata "Lexmark T644 (2)" quindi in base al foglio decido di farlo stampare con i cassetti con carta A4 vergine,riciclata, oppure buste di spedizione reimpostando sempre dopo l'utilizzo la stampante predefinita.
Grazie.
Windows 8
Office 2010
Avatar utente
zanatta77
Utente Senior
 
Post: 114
Iscritto il: 01/12/12 16:12

Re: Imposta cassetto stampante per ogni foglio

Postdi Dylan666 » 03/06/14 21:29

Grazie a te per il feedback e per aver condiviso il codice
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46


Torna a Applicazioni Office Windows


Topic correlati a "Imposta cassetto stampante per ogni foglio":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti