En Word, ¿cómo puedo modificar los datos de combinación de correspondencia mediante programación con VBA?

StackOverflow https://stackoverflow.com/questions/1441071

Pregunta

Tengo un documento de Word que se utiliza como documento de origen para una combinación de correspondencia. Puedo editar el documento, pero no los datos que se utilizan para la fusión. Necesito transformar algunos de los datos en la fuente de datos (específicamente, necesito tomar números (por ejemplo, 342) y agregar su valor en palabras (por ejemplo, `` trescientos cuarenta y dos (342) '')). Puedo escribir una función VBA para hacer la transformación, pero no estoy seguro de cuál es la mejor manera de obtener los datos para esa función.

¿Hay alguna forma de asociar una macro con puntos específicos en el documento y dejar que la fusión impulse el proceso de transformación? (Estoy pensando en cómo puede usar fórmulas en los campos de Word; tengo algunas cosas de la forma {IF {MERGEFIELD foo} > 75 {MERGEFIELD foo} {= {MERGEFIELD foo} * 20 }} en el documento ya. Si pudiera agregar algo para poder ir {FUNCTION WordNum {número MERGEFIELD}} , sería ideal.)

Alternativamente, creo que puedo usar VBA para hurgar en la fuente de datos de la combinación de correspondencia (específicamente document.MailMerge.DataSource ) y reescribir campos. Si sigo esa ruta, ¿dónde debo ejecutar la macro para que llegue a los datos después de que se hayan leído desde la fuente de datos, pero antes de que se hayan fusionado con el documento?

¿Fue útil?

Solución 2

No parece haber una forma de llamar a funciones arbitrarias desde macros de Word incrustadas, así que elegí la ruta VBA.

Agregué una macro AutoOpen al documento fuente que llamaba MailMerge.EditDataSource y luego recorrí la tabla para hacer sus cambios.

Otros consejos

¿Podría hacer la transformación de datos en Microsoft Query? Es decir, donde actualmente tiene:

Data Source -> Mail Merge Template

cree una consulta de Microsoft que se encuentre entre su fuente de datos y Word:

Data Source -> Microsoft Query -> Mail Merge Template

Ha pasado un tiempo desde que usé Combinar correspondencia en Word, pero no recuerdo haber podido ejercer mucho control sobre él ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top