Discussione:
Stampa unione automatica
(troppo vecchio per rispondere)
Francesco
2006-01-04 23:42:02 UTC
Permalink
Salve a tutti.
Ho un cliente che utilizza la stampa unione. Ogni volta devo generare il
record dalla mia applicazione in un database access. Dopo egli può effettuare
la stampa unione aprendo il modello di word ed eseguendo la funzione che
unisce i dati.
C'è la possibilità di costruire una macro che io possa eseguire per fornire
al cliente automaticamente il documento word con i dati provenienti dal
database? Qualcosa che faccia il merge automaticamente?
Cisky
Giovanni Zezza
2006-01-05 10:49:16 UTC
Permalink
Francesco, nel messaggio
Post by Francesco
Ho un cliente che utilizza la stampa unione. Ogni volta devo generare il
record dalla mia applicazione in un database access. Dopo egli può effettuare
la stampa unione aprendo il modello di word ed eseguendo la funzione che
unisce i dati.
C'è la possibilità di costruire una macro che io possa eseguire per fornire
al cliente automaticamente il documento word con i dati provenienti dal
database? Qualcosa che faccia il merge automaticamente?
La domanda è un po' generica: certo che è possibile, ma tu esattamente che
cosa vorresti fare?

Io posso dirti come risolvo di solito la cosa io, quando voglio produrre un
documento Word da un database: genero direttamente un documento RTF (puoi
trovare la specifica del formato sul sito Microsoft), che Word riconosce e
sui cui è in grado di lavorare nativamente.

Normalmente uso Perl per questo genere di cose, ma qualsiasi linguaggio che
ti dia accesso al database (che non ho ben capito se sia in access o se
trasporti in access da un altro database), cioè, ormai, qualunque
linguaggio.

Un altro approccio potrebbe essere usare ActiveX (o COM), collegandosi
direttamente a Word e generare il documento da lì, attraverso i metodi
messi a disposizione dall'interfaccia di Word.

Anche qui, qualsiasi linguaggio che ti dia accesso al tuo database e ad
ActiveX va bene.

Oppure, anche, certo, si può pensare di automatizzare proprio la procedura
di stampa unione, facendo fare a Word l'operazione che adesso fa a mano il
tuo cliente. Un po' più macchinoso come logica, ma forse più semplice da
realizzare.

Per cominciare, puoi provare semplicemente a registrare una macro
(Strumenti -> Macro -> Registra) mentre fai le operazioni per collegare
dati e documento. Poi apri la macro nell'editor di Visual Basic e vedi se
c'è qualcosa da modificare.

Eventualmente puoi aggiungere un pulsante ad una barra degli strumenti, che
esegua la macro. Oppure puoi tradurre il codice VBA della macro nel
linguaggio della tua applicazione e fare tutto da lì.

Ciao.
Francesco
2006-01-05 12:07:02 UTC
Permalink
Grazie Giovanni,
Le provo e poi scelgo.
ciaoooo
Post by Giovanni Zezza
Francesco, nel messaggio
Post by Francesco
Ho un cliente che utilizza la stampa unione. Ogni volta devo generare il
record dalla mia applicazione in un database access. Dopo egli può effettuare
la stampa unione aprendo il modello di word ed eseguendo la funzione che
unisce i dati.
C'è la possibilità di costruire una macro che io possa eseguire per fornire
al cliente automaticamente il documento word con i dati provenienti dal
database? Qualcosa che faccia il merge automaticamente?
La domanda è un po' generica: certo che è possibile, ma tu esattamente che
cosa vorresti fare?
Io posso dirti come risolvo di solito la cosa io, quando voglio produrre un
documento Word da un database: genero direttamente un documento RTF (puoi
trovare la specifica del formato sul sito Microsoft), che Word riconosce e
sui cui è in grado di lavorare nativamente.
Normalmente uso Perl per questo genere di cose, ma qualsiasi linguaggio che
ti dia accesso al database (che non ho ben capito se sia in access o se
trasporti in access da un altro database), cioè, ormai, qualunque
linguaggio.
Un altro approccio potrebbe essere usare ActiveX (o COM), collegandosi
direttamente a Word e generare il documento da lì, attraverso i metodi
messi a disposizione dall'interfaccia di Word.
Anche qui, qualsiasi linguaggio che ti dia accesso al tuo database e ad
ActiveX va bene.
Oppure, anche, certo, si può pensare di automatizzare proprio la procedura
di stampa unione, facendo fare a Word l'operazione che adesso fa a mano il
tuo cliente. Un po' più macchinoso come logica, ma forse più semplice da
realizzare.
Per cominciare, puoi provare semplicemente a registrare una macro
(Strumenti -> Macro -> Registra) mentre fai le operazioni per collegare
dati e documento. Poi apri la macro nell'editor di Visual Basic e vedi se
c'è qualcosa da modificare.
Eventualmente puoi aggiungere un pulsante ad una barra degli strumenti, che
esegua la macro. Oppure puoi tradurre il codice VBA della macro nel
linguaggio della tua applicazione e fare tutto da lì.
Ciao.
Loading...