Condividi:        

Modello documento su più pagine

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

Modello documento su più pagine

Postdi MKino8 » 09/11/17 15:45

Salve a tutti, è un pò che sto cercando un modo per creare un modello di un documento che possa essere esteso su più pagine.
Il mio intento è quello, come nel caso delle fatture, di creare un modello con un'intestazione o header fisso, che venga ripetuto su tutte le pagine del documento, ma attenzione, a differenza delle aree dei titoli di stampa che rimangono statistiche e identiche su tutti i fogli di stampa, vorrei un intestazione che sia dinamica e cambi i valori di alcune celle in base alla pagina in cui si trova, in modo ad esempio per far variare il numero di pagina che ho scritto in una cella.
Inoltre un footer o un piè di pagina che sia inserito solo sull'ultima pagina.
Il corpo del documento è formato da una tabella dei prodotti della fattura e in base al numero di righe di prodotti che inserisco, il documento si estenda su una o più pagine.
E' possibile fare tutto ciò con opportuno VBA?
MKino8
Newbie
 
Post: 6
Iscritto il: 27/10/17 01:12

Sponsor
 

Re: Modello documento su più pagine

Postdi nikita75 » 17/11/17 15:27

https://social.msdn.microsoft.com/Forum ... rum=isvvba

Ciao MKino8 - per VBA ti rimando a questo forum

se hai risolto il problema inviaci maggiori informazioni
"La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni e nessuno sa il perché" Albert Einstein
Immagine
Avatar utente
nikita75
Utente Senior
 
Post: 5401
Iscritto il: 31/07/09 13:36
Località: Alberobello (Bari )

Re: Modello documento su più pagine

Postdi Anthony47 » 18/11/17 01:44

E questo messaggio da dove spunta?

Ah ha... Non escludo che sui forum suggeriti da Nikita possano essere piu' efficaci di noi, ma anche noi ci difendiamo...

Header e Footer in excel sono statici, e non mi è "chiarissimo" tutto quello che hai scritto (ad esempio "vorrei un intestazione che sia dinamica e cambi i valori di alcune celle in base alla pagina in cui si trova, in modo ad esempio per far variare il numero di pagina che ho scritto in una cella").

Comunque ti dò una Userfunction che ti puo' restituire il numero di pagina della cella in cui la Function viene usata:
Codice: Seleziona tutto
Function GimmiPage(Optional ByRef myRan As Range) As Long
Dim VB As HPageBreak, cHBRow As Long, hPBc As Long, vPBc As Long
Dim cPage As Long, pSh As Worksheet, I As Long, J As Long
'
'Restituisce il numero di pagina del riferimento o della cella con la formula
Application.Volatile
If myRan Is Nothing Then
    Set myRan = Application.Caller
End If
Set pSh = myRan.Parent
'
hPBc = pSh.HPageBreaks.Count
vPBc = pSh.VPageBreaks.Count
'
'1:Check H Breaks
For I = 1 To hPBc
    If myRan(1, 1).Row < pSh.HPageBreaks(I).Location.Row Then
        cPage = I
        Exit For
    End If
Next I
If cPage = 0 Then
    If hPBc = 0 Then
        cPage = 1
    Else
        cPage = I
    End If
End If
'2: Check V Breaks
If vPBc >= 0 Then
For I = 1 To vPBc
    If myRan.Column < pSh.VPageBreaks(I).Location.Column Then
        J = I
        Exit For
    End If
Next I
If J > 0 Then J = J - 1 Else J = vPBc
cPage = cPage + (hPBc + 1) * J
End If
GimmiPage = cPage
End Function

Va messo in un Modulo standard del progetto vba del file; poi in una cella si potra' usare la formula
Codice: Seleziona tutto
=GimmiPage()

Questa restituira' il numero della pagina di stampa in cui la cella si trova.
Per il tuo obiettivo usera' una formula appena piu' complessa, del tipo
Codice: Seleziona tutto
=SCEGLI(GimmiPage();"Prima Pagina";"Seconda pagina";"Terza pagina";"Quarta pagina")


La funzione GimmiPage accetta anche un riferimento; ad esempio
Codice: Seleziona tutto
=GimmiPage(Foglio1!G52)

Questa restituira' il numero di pagina della cella G52 su Foglio1.

Spero ci sia qualche spunto utile...



keyw:
get cell page numbe
r
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Modello documento su più pagine

Postdi wallace&gromit » 18/11/17 12:37

E se metti vicino l'orecchio sentirai anche "stairway to heaven"
scusate, non potevo resistere ai nomi fantasiosi delle sub di Anthony!
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Modello documento su più pagine

Postdi alfrimpa » 18/11/17 16:29

Ciao W&G

Io l'avevo letta all'inglese ossia "GhimmePage" ossia restituiscimi la pagina.

Poi da fan dei Led Zeppelin (come si capisce dal mio avatar) non posso che condividere sul nome scelto da Anthony :)
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Modello documento su più pagine

Postdi Anthony47 » 20/11/17 00:50

Eh, portate pazienza, ma i nomi standard (pippo, cippa, peppa) mi sono appena finiti...

Ne approfitto per chiarire che mKino8 dovrebbe usare la formula che ho suggerito per impostare, nelle celle del suo foglio dei testi che rappresenteranno Intestazione e pie' di pagina personalizzati in funzione del numero di pagina.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19432
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Modello documento su più pagine":

consumo pagine web
Autore: nikita75
Forum: Software Windows
Risposte: 4

Chi c’è in linea

Visitano il forum: marcopont e 12 ospiti