Documento per specifiche su “xmltodoc.doc”.
Esportazione dal gestionale di dati destinati ad alimentare documenti di word (modelli) opportunamente trattati.
E’ possibile dal gestionale esportare dati che possono essere accolti in modelli di word.
La procedura appoggia sui seguenti file:
-file di testo contenente le informazioni;
-file con estensione xml in cui sono contenuti i dati;
-modello di word (formato .doc);
-file di word contente la macro vba (xmltodoc.doc).
il nome del file di testo contenente le informazioni comprende il nome del file word con la macro + “_info” secondo le convenzioni da noi adottate: “xmltodoc_info.txt”.
alcuni esempi validi di contenuto del file:
Esempio 1
c:\ecoge\tmp\origine0001.xml;3
c:\ecoge\tmp\origine.doc
saveAs="c:\ecoge\tmp-test\adasdasd.doc"
PrintTo="Kyocera FS-2000D KX"
exit="S”
copie="009”
bkground=”S”
eliminaVuote=”S”
Nella prima riga (obbligatoria) si indica il file xml contenente i dati se è presente un “;” (opzionale) seguito da numeri interi viene indicato il numero di documenti, generati dal modello, che saranno stampati.
La seconda riga (obbligatoria) indica il modello di word in formato .doc.
La terza, la quarta, la quinta e la sesta riga riga possono contenere opzionalmente e senza ordine particolare i seguenti parametri:
saveAs = “eventuale percorso dove salvare il file doc”
PrintTo = “nome della stampante su cui indirizzare l’output”
exit = “S” o “N” uscita e chiusura dell’applicazione Word dopo l’esecuzione della macro
copie = “002” numero di copie (in questo caso due)
bkground=”S “ (se non è presente si presume che l’applicazione sia visibile)
eliminaVuote=”S “ (per togliere eventuali righe vuote nelle tabelle e pagine vuote alla fine del documento [per stampe FATA])
Esempio 2
c:\ecoge\tmp\origine0001.xml
c:\ecoge\tmp\origine.doc
In questo caso verrà elaborato un documento senza generare la stampa.
I file xml contenenti i dati “devono” avere la seguente forma:
Esempio 3
<COD-CLI>
WIL123123
</COD-CLI>
<RAGSOC-CLI>
Prova Ragione Sociale
</RAGSOC-CLI>
<CLI-IND>
Indirizzo del cliente
</CLI-IND>
<CAPLOCAPROV-CLI>
Roma
</CAPLOCAPROV-CLI>
<PREV-NUM>
1234111
</PREV-NUM>
<ALTRO-DATO>
</ALTRO-DATO>
<PREV-DATA>
12-12-2009
</PREV-DATA>
<LOD-COMMESSA>
COMM12121212
</LOD-COMMESSA>
<TAB-DET>
@fondi;a) contratto a distanza: il contratto avente per oggetto beni o servizi stipulato tra un fornitore e un consumatore nell'ambito di un sistema di vendita o di prestazione di<ac> servizi a distanza organizzato dal fornitore che, per tale contratto, impiega esclusivamente una<ac> o più tecniche di comunicazione<ac> a distanza fino alla conclusione del contratto, compresa la conclusione del contratto stesso<FR>
XXXXX merce numero<ac> uno;12;123,89;14.567.890,00;1.345.678,99;1.456.456.300,90<FR>
XXXXX merce numero<ac> due;12;123,89;14.567.890,00;1.345.678,99;1.456.456.300,90<FR>
XXXXX merce numero tre;12;123,89;14.567.890,00;1.345.678,99;1.456.456.300,90<FR>
XXXXX merce numero quattro;12;123,89;14.567.890,00;1.345.678,99;1.456.456.300,90<FR>
</TAB-DET>
Il contenuto racchiuso fra i tag <_> </_> è quello che sarà copiato nel documento modello.
Se il contenuto è nullo occorre indicare una riga vuota fra il tag di apertura e quello di chiusura.
Nel caso ci fosse una tabella da popolare il tag deve iniziare con <TAB vedi “esempio 4” <TAB_DET>
Nell’esempio si può vedere che il contenuto della tabella è definito in righe che terminano obbligatoriamente con <FR> o <fr>.
Ogni riga racchiude il contenuto dei “campi” ed il contenuto del campo è separto dal delimitatore “;”.
Se il campo contiene il tag <ac> verrà aggiunto un ritorno a capo all’interno del medesimo.
Esiste l’eccezione della riga che contiene un solo valore significativo e che inizia con @fondi.
Questa linea viene integrata nella tabella in un sola cella (fusione delle celle).
Il documento modello dovrà contenere i tag presenti nell’archivio XML come nell’esempio 5:
<LOGO:c:\path\nomefilelogo.doc>
Spett.le (<COD-CLI>)
<RAGSOC-CLI>
<CLI-IND>
<CAPLOCAPROV-CLI>
PREVENTIVO N. <PREV-NUM> DEL <PREV-DATA> |
Rifer. <LOD-COMMESSA>
|
<ALTRO-DATO> |
||||
CODICE E DESCRIZIONE MERCE
|
QU.TA' |
IMP.UNIT. |
TOTALE |
SCONTO |
IMP.NETTO |
<TAB-DET> |
|
|
|
|
|
Restiamo a Vs. disposizione per informazioni e chiarimenti in merito e cogliamo l'occasione per porgerVi i migliori saluti.
WILOCS
Fine esempio 5
La macro contenuta in “xmltodoc.doc” farà da smistatrice dei dati dall’archivio xml al modello word.
In pratica si otterrà alla fine un documento come il seguente esempio 6:
WILOCS LOGO TEST SRL
Spett.le (WIL123123)
Prova Ragione Sociale
Indirizzo del cliente
Roma
PREVENTIVO N. 1234111 DEL 12-12-2009 |
Rifer. COMM12121212
|
|
||||
CODICE E DESCRIZIONE MERCE
|
QU.TA' |
IMP.UNIT. |
TOTALE |
SCONTO |
IMP.NETTO |
a) contratto a distanza: il contratto avente per oggetto beni o servizi stipulato tra un fornitore e un consumatore nell'ambito di un sistema di vendita o di prestazione di servizi a distanza organizzato dal fornitore che, per tale contratto, impiega esclusivamente una o più tecniche di comunicazione a distanza fino alla conclusione del contratto, compresa la conclusione del contratto stesso |
|||||
XXXXX merce numero uno |
12 |
123,89 |
14.567.890,00 |
1.345.678,99 |
1.456.456.300,90 |
XXXXX merce numero due |
12 |
123,89 |
14.567.890,00 |
1.345.678,99 |
1.456.456.300,90 |
XXXXX merce numero tre |
12 |
123,89 |
14.567.890,00 |
1.345.678,99 |
1.456.456.300,90 |
XXXXX merce numero quattro |
12 |
123,89 |
14.567.890,00 |
1.345.678,99 |
1.456.456.300,90 |
Restiamo a Vs. disposizione per informazioni e chiarimenti in merito e cogliamo l'occasione per porgerVi i migliori saluti.
WILOCS
Note: come si evince dall’esempio è possibile includere, nelle posizioni che si ritengono più opportune, file immagini o loghi per personalizzare il modello semplicemente aggiungendo il tag <LOGO:path+nomefile> es: <LOGO:c:\pippologhi\logotesta.jpg> o <LOGO:\\server\loghi\logotesta.jpg> (è ovvio che le posizioni dei file devono essere raggiungibili!)
__
Formattazione delle celle delle tabelle
Se all’inizio del modello nel modello sono presenti i seguenti termini :
#Font1
#Font2
#Font3
#Font4
#Font5
La macro processerà tutte quelle celle il cui contenuto iniziale (prefisso) è eguale a #Font1: , #Font2: , #Font3: ecc. in tal modo le celle saranno formattate secondo lo stile dei vari font.
Esempio di contenuto tabella con font:
#font1:XXXXX merce numero<ac> uno;12;123,89;14.567.890,00;1.345.678,99;1.456.456.300,90<FR>
#font1:XXXXX merce numero<ac> due;12;123,89;14.567.890,00;1.345.678,99;1.456.456.300,90<FR>
#font1:XXXXX merce numero tre;12;123,89;14.567.890,00;1.345.678,99;1.456.456.300,90<FR>
#font1:XXXXX merce numero quattro; #font2:12;123,89;14.567.890,00;1.345.678,99;1.456.456.300,90<FR>
Aggiunto il 7 ottobre 2011
-nel file check.txt prodotto alla fine della esecuzione della macro è stata aggiunta una seconda riga in cui viene indicato il numero di pagine del documento generato dalla macro
Inclusione immagini
Usando la sintassi:Usando la
<IMAGE:fullpath_nomefile.ext>
La macro includerà il file immagine indicato (deve essere in formato client).
NB: è conveniente introdurre il comando all'interno di una casella di testo, in questo modo l'immagine dovrebbe risultare ridimensionata all'interno della casella di testo stessa (sperimentato con un file *.PNG). Usando la