Newsgroup: it.comp.lang.visual-basic
Titolo: ESPORTARE PDF DA EXCEL VBA

Salve a tutti,
ho creato un file excel per la gestione di fatture.
Sono presenti varie funzioni tra cui l'esportazione (anche multipla)
in file PDF, WORD e l'invio di MAIL con allegati in PDF.
Funziona tutto alla perfezione, l'unico problema è che il PDF creato
risulta intorno ai 350 kb (senza immagini intorno ai 250kb), il che
potrebbe risultare una difficoltà nell'invio di una mail con molte
fatture PDF allegate.
Anche se imposto la qualità da Quality:=xlQualityStandard a
Quality:=xlQualityMinimum, la differenza di dimensioni è minima. Se
provo a stampare la fattura con PDFCreator mi ritrovo un file di
100kb! Come posso risolvere, cercando di evitare di utilizzare
stampanti PDF esterne? Io ho usato il comando ExportAsFixedFormat
avendo installato il Plugin per salvare come PDF da Excel.
Di seguito il codice per l'esportazione in PDF che ho ripreso poi
anche nelle altre funzioni con le opportune modifiche:
Sub EsportaPDF()
If Dir(Environ("commonprogramfiles") & "\Microsoft Shared\OFFICE" _
& Format(Val(Application.Version), "00") & "\EXP_PDF.DLL") <> "" Then
numerofattura = Sheets("fatture").Cells(Selection.Row, 1)
codicefattura = Sheets("fatture").Cells(Selection.Row, 3)
percorsofatture = ActiveWorkbook.Path
cartelladestinazione = "\" & Range("DESTFATT") & "\"
nomefile = percorsofatture & cartelladestinazione & "ft " &
numerofattura & " " & codicefattura
' Nel foglio Stampa è ricreato il layout della fattura che si aggiorna
automaticamente al variare del numero presente in NUMFATT
Range("NUMFATT").value = numerofattura
Sheets("Stampa").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=nomefile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Else
MsgBox "Il Plugin PDF non è installato!"
End If
End Sub

fatture PDF allegate.
Potrseti usare pdf compressor
- 
http://www.nicepdf.com/PDFCompressor.exe
riduce le dimensioni dei pdf, lo lanci con una ShellExecute ()
--
ciao
  Stefano

   Stefano
Ho utilizzato PDF compressor, ma il file resta praticamente della
stessa dimensione (da 354 kb a 350kb).
Ma per quale motivo un file creato con PDF creator pesa un terzo
rispetto ad uno creato con EXCEL? Che differenza c'è nella creazione
di un pdf da EXCEL e uno "stampato" con una stampante virtuale come
PDFCreator?
Il layout della fattura è composto da tabelle e ci sono 3 loghi. Che
informazioni salva excel nel pdf creato? Ho cambiato
IncludeDocProperties:=True a false ma non succede niente.
Utilizzare pdf creator tramite vba non è una scelta fattibile, in
quanto comparirebbe in continuazione la schermata del programma che mi
chiede dove salvare il file. La funzione che ho creato permette
l'esportazione di più file contemporaneamente senza chiedere nulla, li
salva semplicemente in una cartella predefinita con un nome calcolato
da un'apposita funzione.
Altri consigli?

 Altri consigli?
Gugla per PDF in questo gruppo, è roba di cui si è parlato spesso.
Bye, G. 

 - Mostra testo citato -
Con questo vuoi dire che i PDF creati con una stampante virtuale (in
questo caso PDF Creator) non incorporano i font, e quindi su macchine
diverse che non hanno gli stessi font appaiono in modo diverso? Non mi
risulta, ed ho anche provato a verificare su macchine diverse: il PDF
è identico anche in macchine che non hanno installati i font
utilizzati.
Ho, invece, provato a cambiare i font, e in effetti la dimensione si è
ridotta notevolmente, ma lo ha fatto pure in PDF Creator.
Se prima i pdf creati da excel attraverso VBA erano 350 kb con font
(calibri e courier new), e 185 con font diverso (arial), quelli creati
con PDF Creator sono passati da 150kb a 47kb. Quindi vuol dire che il
font non incide più di tanto. Ci dev'essere qualche differenza nella
compressione utilizzata.
Ho cercato in giro su altre discussioni, ma nessuna che faccia al caso
mio.
Qualcuno esperto di PDF che mi illumini?

Qualcuno esperto di PDF che mi illumini?
Guarda se questo esempio ti può aiutare:
http://tinyurl.com/5tjam5
--
Ciao Fede
By Chicco Production
http://bcp.freetools.it

 Qualcuno esperto di PDF che mi illumini?
Se me ne mandi uno fatto con Excel e uno con PDF Creator
ci butto un'occhiata con qualche programma specifico, ma non
farti troppe illusioni: la MS non è certo famosa per produrre file
piccoli, praticamente in nessun campo (tranne, forse, nel caso
del multimediale).
L'indirizzo nel reply-to è valido.
Bye, G. 

 - Mostra testo citato -
Ho risolto.
Ho creato una funzione che utilizza la stampante virtuale PDF Creator
senza far comparire alcuna finestra di dialogo.
Il processo è un pò più lento rispetto al metodo exportAsFixedFormat,
ma alla fine ottengo pdf di 50kb invece che di 350kb!

 riduce le dimensioni deipdf, lo lanci con una ShellExecute ()
E' comandabile da linea di comando? Non ho trovato informazioni in
proposito
Ciao
Fritz

 ha
scritto:

No, apre un applicazione win.
http://tinyurl.com/67b8vv
ciao
  Stefano
--
ciao
  Stefano

 No, apre un applicazione win.
Infatti peccato, però quindi mi sfugge come avrebbe potuto utilizzarlo
framan82 dalla sua applicazione.
Ciao
Fritz

 wrote:

Con il Sendkeys o se non va con un metodo come questo:
http://www.vbaccelerator.com/home/VB/Tips/SendKeys_using_the_API/article.asp
--
ciao
  Stefano