Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[vba access 2003]: printout stampa solo la prima pagina

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 access 2003]: printout stampa solo la prima pagina

Postdi karug64 » 14/02/13 23:13

Salve a tutti.

Nel mio codice apro un file doc, modifico il piè di pagina e stampo il documento.
Lo faccio con questo codice:

Codice: Seleziona tutto
nomefiletab = (Trim(Testo99.Value & "")) + "\" + Right("000" + Trim(CasellaCombinata34 & ""), 3) + "_test.DOC"
If FileEsiste3(nomefiletab) Then
    For nco = 1 To Val(tabst2co)
        piepag = ""
        piepag = "TEST - Allegato " & trim(str(nco))
            Set objWord = New Word.Application
            Set wDoc = objWord.Documents.Open(nomefiletab)

            ' cancella il pie' di pagina vecchio
            objWord.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
            objWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
            objWord.Selection.Delete Unit:=wdCharacter, Count:=1
            objWord.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
            objWord.Selection.EndKey Unit:=wdLine, Extend:=wdExtend
            objWord.Selection.Delete Unit:=wdCharacter, Count:=1
            objWord.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
   
            ' aggiunge il pie' di pagina nuovo
            objWord.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
            objWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
            objWord.Selection.Font.Name = "Courier New"
            objWord.Selection.Font.Size = 7
            objWord.Selection.Font.Bold = True
            objWord.Selection.TypeText Text:=piepag
            objWord.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
   
'            objWord.ActiveDocument.ActiveWindow.Activate
            objWord.Application.WindowState = wdWindowStateMinimize
            wDoc.Activate
 
            objWord.Visible = True
           
            'objWord.ActiveDocument.PrintPreview
       
            ' stampa il documento
            wDoc.PrintOut
 
            wDoc.Close
            objWord.Quit SaveChanges:=wdDoNotSaveChanges
           
            Set objWord = Nothing
            Set wDoc = Nothing
           
    Next nco
    S2OK.Visible = True
   
endif


Ebbene se vado in anteprima di stampa ('objWord.ActiveDocument.PrintPreview) funziona tutto, se lascio la stampa printout mi stampa solo la prima pagina del documento !!!

Non so proprio come risolvere.

Qualcuno puo' aiutarmi ?

Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: [vba access 2003]: printout stampa solo la prima pagina

Postdi Flash30005 » 15/02/13 00:02

Se conosci il numero di pagine (esempio 10) potresti usare il comando
Codice: Seleziona tutto
wDoc.PrintOut from:=1, to:=10

Se non lo conosci
è sufficiente creare prima una variabile
Np = Worksheets.count
quindi avrai
Codice: Seleziona tutto
[code]wDoc.PrintOut from:=1, to:=Np[/code]

Se vuoi stamapre dalla pagina 5 alla 7
Codice: Seleziona tutto
wDoc.PrintOut from:=5, to:=7


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [vba access 2003]: printout stampa solo la prima pagina

Postdi karug64 » 15/02/13 00:14

Flash30005 ha scritto:Se conosci il numero di pagine (esempio 10) potresti usare il comando
Codice: Seleziona tutto
wDoc.PrintOut from:=1, to:=10



Ciao.
Mi da questo errore:

13: tipo non corrispondente

grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Re: [vba access 2003]: printout stampa solo la prima pagina

Postdi Anthony47 » 15/02/13 00:28

Secondo me smette di stampare perche' chiudi il documento.
Prova a modificare
Codice: Seleziona tutto
            ' stampa il documento
            wDoc.PrintOut Background:=False    '<<< Modificata

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

Re: [vba access 2003]: printout stampa solo la prima pagina

Postdi karug64 » 15/02/13 22:40

Anthony47 ha scritto:Secondo me smette di stampare perche' chiudi il documento.
Prova a modificare
Codice: Seleziona tutto
            ' stampa il documento
            wDoc.PrintOut Background:=False    '<<< Modificata

Ciao


Ok. Cosi' funziona.

Se puo' interessare funziona anche cosi':

Codice: Seleziona tutto
wdoc.PrintOut Range:=wdPrintAllDocument


Grazie e alla prossima.
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22


Torna a Applicazioni Office Windows


Topic correlati a "[vba access 2003]: printout stampa solo la prima pagina":


Chi c’è in linea

Visitano il forum: Nessuno e 50 ospiti