Domanda

Ho un documento di Word che viene utilizzato come documento di origine per una stampa unione. Posso modificare il documento, ma non i dati utilizzati per l'unione. Ho bisogno di trasformare alcuni dei dati nell'origine dati (in particolare, ho bisogno di prendere numeri (ad esempio 342) e aggiungere il loro valore in parole (ad esempio "trecentoquarantadue (342)"). Posso scrivere una funzione VBA per eseguire la trasformazione, ma non sono sicuro del modo migliore per ottenere i dati per quella funzione.

Esiste un modo per associare una macro a punti specifici nel documento e consentire alla fusione di guidare il processo di trasformazione? (Sto pensando a come utilizzare le formule nei campi di Word; ho alcune cose del modulo {IF {MERGEFIELD foo} > 75 {MERGEFIELD foo} {= {MERGEFIELD foo} * 20 }} nel documento. Se potessi aggiungere qualcosa, potrei andare {FUNCTION WordNum {numero MERGEFIELD}} , sarebbe l'ideale.)

In alternativa, penso di poter usare VBA per frugare nell'origine dati della stampa unione (in particolare document.MailMerge.DataSource ) e riscrivere i campi. Se seguo questa strada, dove devo eseguire la macro in modo che arrivi ai dati dopo che è stata letta dall'origine dati, ma prima che sia stata unita al documento?

È stato utile?

Soluzione 2

Non sembra esserci un modo per chiamare funzioni arbitrarie da macro di Word incorporate, quindi ho seguito il percorso VBA.

Ho aggiunto una macro AutoOpen al documento di origine che ha chiamato MailMerge.EditDataSource e ho quindi esaminato la tabella per apportare le modifiche.

Altri suggerimenti

Potresti fare la trasformazione dei dati in Microsoft Query? Cioè, dove hai attualmente:

Data Source -> Mail Merge Template

crea una query Microsoft che si trova tra l'origine dati e Word:

Data Source -> Microsoft Query -> Mail Merge Template

È da un po 'che non uso Mail Merge in Word ma non ricordo di essere stato in grado di esercitare molto controllo su di esso ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top