Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

da VBA Memorizzare un Report in formato PDF

1,668 views
Skip to first unread message

gfranc...@gmail.com

unread,
Sep 19, 2013, 1:50:45 PM9/19/13
to
Ciao a tutti,
in VBA creo un report in anteprima di stampa e voglio memorizzarlo con un nome che gli passo, da vBA, in una directory che gli passo da VBA.
Come posso fare senza utilizzare una stampante PDF quale Cute Pdf o PDF Creator?

Karl Donaubauer

unread,
Sep 19, 2013, 2:01:29 PM9/19/13
to
Dipende dalla tua versione di Access.
Vedi http://www.donkarl.com/it?FAQ5.17.

--
Ciao
Karl
*********
Access FAQ: http://www.donkarl.com/it


gfranc...@gmail.com

unread,
Sep 20, 2013, 3:38:10 AM9/20/13
to
Grazie Karl,
il mio applicativo risiede su di un Server dove è installato Access 2007, mentre il client dove mi serve implementare la funzionalità, che deve poter funzionare su di un ciclo 'for---next' che legge da una Tabella, crea il report Access e poi deve salvarlo in una directory in formato PDF con il nome = il campo Codice Articolo, è installato Access 2010.
Potrei cavarmela creando un piccolo file di access 2010 che, collegando le opportune tabelle, faccia quanto tu suggerisci: DoCmd.OutputTo.....; sarebbe però più 'fine' se ci fosse un metodo analogo in grado di funzionare anche su Access 2007

Karl Donaubauer

unread,
Sep 20, 2013, 5:47:05 AM9/20/13
to
gfranc...@gmail.com wrote:
> ...
> il mio applicativo risiede su di un Server dove è installato Access
> 2007, mentre il client dove mi serve implementare la funzionalità,
> che deve poter funzionare su di un ciclo 'for---next' che legge da
> una Tabella, crea il report Access e poi deve salvarlo in una
> directory in formato PDF con il nome = il campo Codice Articolo, è
> installato Access 2010.
> Potrei cavarmela creando un piccolo file di access 2010 che,
> collegando le opportune tabelle, faccia quanto tu suggerisci:
> DoCmd.OutputTo.....; sarebbe però più 'fine' se ci fosse un metodo
> analogo in grado di funzionare anche su Access 2007

C'è un piccolo errore nella versione italiana dell'articolo segnalato.
Invece di

*****
In quest'ultima versione di Access si può anche effettuare l'esportazione e
il salvataggio semplicemente da VBA assegnando un percorso di archivazione:

DoCmd.OutputTo acOutputReport, "MioReport", acFormatPDF,
"c:\MioPercorso\MioNomeFile.pdf"
*****

le prime parole devono essere:

In quest'ultime versioni...

perché puoi usare il commando anche in A07 se hai
installato l'Add-In per PDF come descritto nell'articolo.

gfranc...@gmail.com

unread,
Sep 20, 2013, 11:33:51 AM9/20/13
to
Ciao Karl,
ho provato sia in Acc2007 che nel db che mi sono creato in Acc2010, ma mi ritorna sempre il messaggio di errore 'l'azione Output to è stata annullata'
Questo è quello che ho scritto:
DoCmd.OutpuTo acOutputReport, strReportAcc, acFormatPDF, "F:\Duralamp\CertificatiCE\strReport"
dove strReportAcc è il nome del Report che utilizzo (Report DC05) e dove strReport è il file che voglio salvare e vale, al primo giro, "00016.PDF"
Quando scrivo la sintassi di DoCmd.OutputTo ed arrivo a scivere acFormatPDF, mi aspetto che la sintassi mi suggerisca la scelte possibili quali acFormat ed invece non lo fa e questo mi lascia perplesso.

Karl Donaubauer

unread,
Sep 20, 2013, 11:43:07 AM9/20/13
to
gfranc...@gmail.com wrote:
> ...
> ho provato sia in Acc2007 che nel db che mi sono creato in Acc2010,
> ma mi ritorna sempre il messaggio di errore 'l'azione Output to è
> stata annullata'
> Questo è quello che ho scritto:
> DoCmd.OutpuTo acOutputReport, strReportAcc, acFormatPDF,
> "F:\Duralamp\CertificatiCE\strReport"
> dove strReportAcc è il nome del Report che utilizzo (Report DC05) e
> dove strReport è il file che voglio salvare e vale, al primo giro,
> "00016.PDF"

Se ti capisco bene hai incluso la variabile strReport nella stringa fissa.
Dovrebbe essere:

"F:\Duralamp\CertificatiCE\" & strReport

> Quando scrivo la sintassi di DoCmd.OutputTo ed arrivo a scivere
> acFormatPDF, mi aspetto che la sintassi mi suggerisca la scelte
> possibili quali acFormat ed invece non lo fa e questo mi lascia
> perplesso.

È "normale", cioè sembra che non hanno incluso l'elenco dei formati
(Enum) nell'Intellisense.

gfranc...@gmail.com

unread,
Sep 20, 2013, 12:34:50 PM9/20/13
to
Il giorno venerdì 20 settembre 2013 17:33:51 UTC+2, gfranc...@gmail.com ha scritto:
> Il giorno venerdì 20 settembre 2013 09:38:10 UTC+2, gfranc...@gmail.com ha scritto:
>
> > Il giorno giovedì 19 settembre 2013 19:50:45 UTC+2, gfranc...@gmail.com ha scritto:
>
> >
>
> > > Ciao a tutti,
>
> >
>
> > >
>
> >
>
> > > in VBA creo un report in anteprima di stampa e voglio memorizzarlo con un nome che gli passo, da vBA, in una directory che gli passo da VBA.
>
> >
>
> > >
>
> >
>
> > > Come posso fare senza utilizzare una stampante PDF quale Cute Pdf o PDF Creator?
>
> >
>
> >
>
> >
>
> > Grazie Karl,
>
> >
>
> > il mio applicativo risiede su di un Server dove è installato Access 2007, mentre il client dove mi serve implementare la funzionalità, che deve poter funzionare su di un ciclo 'for---next' che legge da una Tabella, crea il report Access e poi deve salvarlo in una directory in formato PDF con il nome = il campo Codice Articolo, è installato Access 2010.
>
> >
>
> > Potrei cavarmela creando un piccolo file di access 2010 che, collegando le opportune tabelle, faccia quanto tu suggerisci: DoCmd.OutputTo.....; sarebbe però più 'fine' se ci fosse un metodo analogo in grado di funzionare anche su Access 2007
>
>
>
> Ciao Karl,
>
> ho provato sia in Acc2007 che nel db che mi sono creato in Acc2010, ma mi ritorna sempre il messaggio di errore 'l'azione OutputTo è stata annullata'
>
> Questo è quello che ho scritto:
>
> DoCmd.OutpuTo acOutputReport, strReportAcc, acFormatPDF, "F:\Duralamp\CertificatiCE\strReport"
>
> dove strReportAcc è il nome del Report che utilizzo (Report DC05) e dove strReport è il file che voglio salvare e vale, al primo giro, "00016.PDF"
>
> Quando scrivo la sintassi di DoCmd.OutputTo ed arrivo a scivere acFormatPDF, mi aspetto che la sintassi mi suggerisca la scelte possibili quali acFormat ed invece non lo fa e questo mi lascia perplesso.

Ciao Karl,
ho seguito il tuo consiglio ed ora la sintassi è la seguente:
strReport = è sempre il nome del file da memorizzare e vale "00016.PDF"
strReportPDF = è la path completa ed è = "F:\Duralamp\CertificatiCE\" & strReport
La nuova istruzione è: DoCmd.OutpuTo acOutputReport, strReportAcc, acFormatPDF, strReportPDF

Ma ritorna sempre lo stesso errore di prima 'l'azione OutputTo è stata annullata'
Non riesco a formulare una ipotesi ma una spiegazione c'è di sicuro.
0 new messages