Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

vba stampa

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

vba stampa

Postdi trittico69 » 24/03/11 23:15

chi mi aiuta a creare una macro,che poi verrà aggiunta a una altra macro già esistente, che mi consente di dare l'ok alla stampa, dopo aver premuto il tasto stampa, quindi

Codice: Seleziona tutto
Range("A3:N" & r).Select 'seleziona l'area di stampa'
ind = Range("A3:N" & r).Address
ActiveSheet.PageSetup.PrintArea = ind
With ActiveSheet.PageSetup
  .PrintTitleRows = "$1:$2"
  .PrintTitleColumns = ""
End With
With ActiveSheet.PageSetup
  .LeftHeader = "Stampato in Data &D - &T   Pagine &P/&N" 'stampa data ora e numero di pagine'
  .CenterHeader = "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & _
    "&""Arial,Grassetto Corsivo""&18Firenze&""Arial,Normale""&10" & Chr(10) & _
"&""Arial,Grassetto Corsivo""&12Nuovi Arrivi, in Data &D" 'intestazione pagina'
  .LeftMargin = Application.InchesToPoints(0.1) 'margine sinistro della stampa'
  .RightMargin = Application.InchesToPoints(0.1) 'margine destro'
  .TopMargin = Application.InchesToPoints(1.6) 'margine alto'
  .BottomMargin = Application.InchesToPoints(0.25) 'adatta lo scritto alla pagina della stampa'
  .HeaderMargin = Application.InchesToPoints(0.1) 'abbassa o alza il titolo della pagina di stampa'
  .FooterMargin = Application.InchesToPoints(0.2) 'abbassa o alza lo scritto sotto la pagine'
  .PrintHeadings = False
  .PrintGridlines = False
  .PrintComments = xlPrintNoComments
  .CenterHorizontally = False
  .CenterVertically = False
  .Orientation = xlLandscape 'stampa in verticale...per stampare in orizzontale sostituisci con =x1portrait'
  .Draft = False
  .PaperSize = xlPaperA4 'tipo di foglio usati per la stampa'
  .FirstPageNumber = xlAutomatic
  .Order = xlDownThenOver
  .BlackAndWhite = False
  .Zoom = 100 'ingrandisce o rimpiccolisce la stampa'
  .PrintErrors = xlPrintErrorsDisplayed
End With
Application.ScreenUpdating = True
If st = "V" Then ActiveWindow.SelectedSheets.PrintPreview
If st = "S" Then ActiveWindow.SelectedSheets.PrintOut Copies:=cp


a questo punto esce l'anteprima di stampa... quindi il codice che mi stampa qual'è?
insomma far uscire il foglio dalla stampante tutto con un solo click!
grazie!
trittico69
Utente Senior
 
Post: 487
Iscritto il: 16/08/09 18:41

Sponsor
 

Re: vba stampa

Postdi ricky53 » 24/03/11 23:52

Ciao
per stampare puoi utilizzare
Codice: Seleziona tutto
ActiveWindow.SelectedSheets.PrintOut Copies:=cp
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: vba stampa

Postdi trittico69 » 25/03/11 00:00

la variabile st è impostata in una cella del foglio...se inserisci V ti fa vedere l'anteprima...se inserisci S stampa direttamente.....ma ho provato non funziona...la cella in questione si trova in P2
trittico69
Utente Senior
 
Post: 487
Iscritto il: 16/08/09 18:41

Re: vba stampa

Postdi Anthony47 » 25/03/11 00:12

Ma allora potresti usare direttamente
Codice: Seleziona tutto
If Sheets("NOMEfoglio").Range("P2").Value = "V" Then ActiveWindow.SelectedSheets.PrintPreview
If Sheets("NOMEfoglio").Range("P2").Value = "S" Then ActiveWindow.SelectedSheets.PrintOut Copies:=cp
Da personalizzare col nome del foglio in cui scrivi V oppure P.

Controlla pure come viene compilata la variabile "cp", eventualmente fai una prova usando Copies:= 1

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: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: vba stampa

Postdi ricky53 » 25/03/11 00:12

Ciao,
visto che hai inserito il quesito in diversi forum, io contiguerò a risponderti (per non ripetere io sempre la stessa propsota su più forum e tu rispondermi sempre su più forum) sul primo cui ti ho risposto.

Sarai tu a riportare la soluzione, quando la si troverà, anche negli altri forum.
Grazie
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: vba stampa

Postdi trittico69 » 25/03/11 17:21

st = Cells(2, 17)
adesso ho capito l'errore deve essere
st = Cells(2, 16)
grazie!
trittico69
Utente Senior
 
Post: 487
Iscritto il: 16/08/09 18:41

Re: vba stampa

Postdi ricky53 » 25/03/11 17:30

Ottimo.

Buon proseguimento.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "vba stampa":


Chi c’è in linea

Visitano il forum: patel e 5 ospiti