Newsgroup: it.comp.os.win.software
Titolo: Excel e formattazione pagina

Ho una tabella di Excel con un numero di righe tale da dover essere stampata
su piů fogli.
Voglio che la tabella sia stampata con il bordo esterno senza griglia
interna, ma non voglio che il bordo venga spezzato ad ogni pagina.
Ho risolto il problema nella parte superiore utilizzando la funzione
"imposta pagina"->"Foglio"->"righe da ripetere in alto" ripetendo una riga
con un bordo che 'chiude' la tabella.
Risolverei il problema completamente se esistesse una funzione analoga
"righe da ripetere in basso", ma non l'ho trovata.
Avete consigli?

> Marco Corona:

Temo non ci sia. Ma se c'e` e ne vieni a conoscenza ci informerai, vero?...
Due possibilita`: una artigianale, l'altra, al solito, Visual Basic.
Quella artigianale:
    Visualizza
    > Anteprima interruzioni di pagina
e "bordare" a manina.
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

 e "bordare" a manina.
Purtroppo il foglio excel viene compilato e stampato da un programma esterno
:-(

 :-(
Allora non potrebbe essere questo ad occuparsi di bordare come desideri? Con
una semplice, anche se non elementare, procedura in Visual Basic.


 una semplice, anche se non elementare, procedura in Visual Basic.
Appunto, ma ho i seguenti problemi:
1) Per fare questo dovrei riuscire a sapere la formattazione della pagina in
stampa, sinceramente non so come fare... hai dritte? (mi basta solo qualche
indicazione non l'intero codice)
2) La formattazione in stampa dipende dalla stampante che utilizzi; nel caso
in cui ci fossero più stampanti sarei obbligato ad intercettare il comando
di stampa di Excel per sapere quale stampante ha scelto e relativa
formattazione.
Ciao e grazie

 2) La formattazione in stampa dipende dalla stampante che utilizzi; nel
caso in cui ci fossero più stampanti sarei obbligato ad intercettare il
comando di stampa di Excel per sapere quale stampante ha scelto e relativa
formattazione.
No, non e` necessario essere informati sulla stampante. Excel fa (e sa)
tutto lui.
Inizia provando a vedere cosa succede con:
    Visualizza
    > Anteprima interruzioni di pagina
Le righe che vedi sono le interruzioni di pagina: orizzontali e verticali. A
te interessano quelle orizzontali (ovviamente se il documento stampato
occupa una sola pagina in orizzontale ed "n" in verticale).
Bene, queste interruzioni costituiscono una "collezione" che e` una
proprieta` del foglio di lavoro: Worksheet.HPageBreaks. Quindi ne possiamo
conoscere il numero col metodo usuale: Worksheet.HPageBreaks.Count. E, per
ciascuna di queste, dovremmo poterne conoscere la posizione:
Worksheet.HPageBreaks.Item(Index).Location, che e` un Range. Quindi,
praticamente, sappiamo tutto di ciascuna di esse. Il passo successivo e`
assegnare un bordo all'area relativa.
Mi sono espresso in forma dubitativa a proposito degli Item di HPageBreaks
perche' io non sono riuscito ad usarli nel modo abituale, evidentemente mi
deve essere sfuggito qualcosa ma, tranne in casi particolari in cui
l'altezza delle righe non e` costante, la cosa non e` poi cosi` rilevante.


> [...] evidentemente mi deve essere sfuggito qualcosa ma [...]
probabilmente si perchè è tutto ok
Grazie, Ciao

> [...] evidentemente mi deve essere sfuggito qualcosa ma [...]
probabilmente si perchè è tutto ok
Grazie di tutto, Ciao