Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Problemi di margini e paginazione creando un PDF

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

[Excel] Problemi di margini e paginazione creando un PDF

Postdi Odoacre » 06/08/14 14:17

Salve a tutti,
questo è il mio primo messaggio in questo forum, al quale mi sono iscritto perché vi ho trovato più volte soluzioni e chiarimenti utili.

DESCRIZIONE DEL CONTESTO
Usando Office 2013, ho creato un file Excel che acquisisce dei dati da altri file (csv), li elabora in forma di grafici e tabelle e genera un report da esportare in PDF. Il report è composto appunto di grafici, tabelle (dinamici) e descrizioni (statiche) che sono in un foglio dedicato (si chiama "Output"), in un'area specifica (A1:N365), che è stata dimensionata per ottenere una paginazione corretta (ad esempio debbo evitare che un grafico si divida tra due pagine). Le operazioni di acquisizione dei dati e di generazione del PDF sono automatizzate con due semplici macro, perché lo strumento deve essere utilizzato da terzi.
Poiché il problema riguarda il salvataggio dei PDF ricopio qui la relativa macro:

    Sub ReportPrintout()

    Dim strOutputFile As String
    Dim strPerson As String
    Dim strToday As String

    Application.ScreenUpdating = False

    strToday = Format(Date, "yymmdd")

    Sheets("Output").Activate
    strPerson = Range("g7").Value
    strOutputFile = strPerson + strToday + ".pdf"

    Sheets("Output").Select
    Range("A1:N365").Select
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    strOutputFile _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=True

    Sheets("Panel").Activate

    Application.ScreenUpdating = True


    End Sub

DESCRIZIONE DEL PROBLEMA
A me funziona tutto come desiderato, ma quando passo il file ad un collega - che usa Excel 2010 - il suo output non è più impaginato correttamente. In particolare, nei file PDF generati dal collega le pagine contengono meno righe, quindi si sfasano e i grafici vengono spezzati tra due pagine. Inoltre, per sicurezza ho impostato nel foglio dei salti pagina che però vengono ignorati.
Abbiamo verificato di avere entrambi le stesse impostazioni di pagina (A4 orizzontale, margini...).

QUESITI
1) L'utilizzo di versioni diverse di Excel può essere causa del problema?
2a) Ritenete che dovrei imporre attraverso la macro la formattazione di pagina per l'output?
2b) Nel caso mi potreste aiutare a scrivere i comandi per la formattazione della pagina?

Grazie in anticipo a chi vorrà aiutarmi.

Marco
Odoacre
Windows 8.1
Office 2013
----------
P^7
Portate Pazienza Per Piacere Patentato Poco Pratico
Odoacre
Newbie
 
Post: 4
Iscritto il: 06/08/14 10:51

Sponsor
 

Re: [Excel] Problemi di margini e paginazione creando un PDF

Postdi Odoacre » 08/08/14 14:59

Ri-ciao a tutti,
ho trovato un po' di indicazioni su come gestire l'impaginazione nella macro e le ho applicate:

Codice: Seleziona tutto
   With ActiveSheet.PageSetup
            .LeftMargin = Application.CentimetersToPoints(1.8)
            .RightMargin = Application.CentimetersToPoints(1.8)
            .TopMargin = Application.CentimetersToPoints(1.8)
            .BottomMargin = Application.CentimetersToPoints(1.8)
            .HeaderMargin = Application.CentimetersToPoints(0.8)
            .FooterMargin = Application.CentimetersToPoints(0.8)
            .PrintHeadings = False
            .PrintGridlines = False
            .PrintComments = xlPrintNoComments
            .CenterHorizontally = True
            .CenterVertically = False
            .Orientation = xlLandscape
            .Draft = False
            .PaperSize = xlPaperA4
            .FirstPageNumber = xlAutomatic
            .Order = xlDownThenOver
            .BlackAndWhite = False
            End With


Ancora una volta a me funziona tutto: se vario i valori dei margini impostati nella macro il PDF se ne accorge e viene impaginato bene solo con certi valori. Al mio collega continua a venire un PDF "spaginato".
Non mi sembra che debba essere un problema di versioni di Excel (lui 2010 io 2013), qualcuno ha idea di quale possa essere la causa?
Aiuto!
Odoacre
Windows 8.1
Office 2013
----------
P^7
Portate Pazienza Per Piacere Patentato Poco Pratico
Odoacre
Newbie
 
Post: 4
Iscritto il: 06/08/14 10:51

Re: [Excel] Problemi di margini e paginazione creando un PDF

Postdi Anthony47 » 12/08/14 01:23

Ciao Odoacre, benvenuto nel forum.
La causa del fenomeno puo' solo essere fatta localmente, sia esaminando il comportamento di Excel che quello delle due stampanti (e dei rispettivi drivers).
Credo che gia' facendo Anteprima di stampa (Print preview) sia possibile capire dove saranno posizionate le diverse pagine; perche' risultino diverse va capito esaminando l' altezza /larghezza righe, il formato carta e i margini di stampa.

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: [Excel] Problemi di margini e paginazione creando un PDF

Postdi Odoacre » 14/08/14 09:01

Ciao Anthony, grazie.
Forse non sono stato abbastanza chiaro: quando parlavo di stampa mi riferivo al file PDF, quindi nessuna stampante fisica è coinvolta nel problema, e nessun driver. Alla fine ho risolto in maniera assai poco elegante: poiché ho notato che i PDF "stampati" (prodotti) dal mio collega non reagivano mai ai comandi di formattazione della pagina ed erano sempre sbagliati nello stesso modo (quella che per me doveva essere una singola pagina debordava sempre nella successiva), ho ridimensionato le pagine fino ad ottenere un'impaginazione corretta anche da lui. In pratica, invece che gestire l'impaginazione, l'ho subita.
Risolto il problema pratico, rimane comunque irrisolto quello tecnico: non sono riuscito a capire perché l'Excel del collega (distante circa 2000 km...) non accettasse i comandi di formattazione dei margini forniti con la macro.
Grazie comunque.

Marco
Odoacre
Windows 8.1
Office 2013
----------
P^7
Portate Pazienza Per Piacere Patentato Poco Pratico
Odoacre
Newbie
 
Post: 4
Iscritto il: 06/08/14 10:51

Re: [Excel] Problemi di margini e paginazione creando un PDF

Postdi Anthony47 » 14/08/14 14:41

Forse non sono stato abbastanza chiaro: quando parlavo di stampa mi riferivo al file PDF, quindi nessuna stampante fisica è coinvolta nel problema, e nessun driver.
Non ho una competenza sistemistica per insistere oltre, ma rimango convinto che molte cose Excel le eredita dal sistema operativo e dalle sue risorse... Una volta, ad esempio, mi ero incartato su un pc appena installato dove non riuscivo a fare Print /Preview perche' non avevo ancora nessuna stampante installata...
Inoltre ancora oggi se provo a inserire formattazioni che non sono gestiti dalla stampante attiva (es formato carta non presente) il comportamento e' instabile (a volte va in errore la macro, a volte procede ma mantiene la formattazione precedente).
Comunque lieto che hai trovato un modo per aggirare il comportamento...

Ciao, all prossima.
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: [Excel] Problemi di margini e paginazione creando un PDF

Postdi Odoacre » 14/08/14 15:15

Grazie ancora. Interessante questa "dipendenza" dal contesto anche su aspetti che non si immaginerebbero coinvolti.
Alla prossima.
Odoacre
Windows 8.1
Office 2013
----------
P^7
Portate Pazienza Per Piacere Patentato Poco Pratico
Odoacre
Newbie
 
Post: 4
Iscritto il: 06/08/14 10:51


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Problemi di margini e paginazione creando un PDF":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti