¿Rellenar la tabla en la plantilla de Word con VBA?

Estoy completando una plantilla de Word con datos recopilados a partir de la entrada del usuario. En particular, se elige un número (variable) de documentos, y la información sobre cada documento llena una fila de una tabla.

Marqué varios elementos en la plantilla y llené con éxito la información en el encabezado de mi macro, pero no estoy tan seguro de la tabla. Marqué la primera celda y traté de tabular (con Chr (9)), y también intenté pasar una matriz. (En la plantilla, la tabla tiene solo una primera fila. Por lo general, pasar la última columna con tabulación crea una fila adicional).

Puedo recuperar el contenido de la celda con

   Word.Application.ActiveDocument.Tables(1).Cell(3, 1).Range.Text

pero no puedo escribir en ninguna celda excepto en la primera, donde puse un marcador.

¿Alguien puede ofrecer una posible solución para llenar la tabla?

preguntado el 22 de mayo de 12 a las 11:05

2 Respuestas

Para completar la tabla, use este código

ActiveDocument.Tables(1).Cell(1, 1).Range.Text = "Blah Blah"

Esto escribirá en la primera celda de la primera tabla. Use un bucle para llenar el resto de las celdas.

También recomendaría ver este enlace.

Tema: Automatización de tablas de palabras para la inserción y extracción de datos

Enlace: http://msdn.microsoft.com/en-us/library/aa537149%28v=office.11%29.aspx#Y1254

Extraer:

Resumen: aprenda a automatizar la creación y el formato de tablas en Word. Obtenga información sobre cómo optimizar el rendimiento, llenar una tabla con datos, formatear la estructura de la tabla, vincular los datos de la tabla y extraer datos de una tabla. (25 páginas impresas)

contestado el 22 de mayo de 12 a las 12:05

Gracias Siddhath, solo estaba agregando más información a mi publicación con respecto a esto. Ese método me permite recuperar datos de la tabla, pero no insertarlos. Quizás esto se deba a que el documento está protegido contra la edición, aunque las celdas que estoy tratando de editar permiten que esto se haga manualmente. Leeré el enlace que publicaste y veré si ofrecen alguna ayuda. - dia de chris

De hecho, me encontré con un problema similar al usar Access para automatizar el llenado de una plantilla de tabla de Word. Descubrí que si abría la plantilla en Word antes de ejecutar el script de VBA, el documento de Word se completa correctamente con la información de la tabla. Mi código se parece al tuyo en cuanto a agregarlo por fila. Debido a que la cantidad de campos que se transferirán al formulario es dinámica, no parecía que los marcadores para cada sección funcionaran. Si tiene alguna actualización, me encantaría saber de una forma diferente de resolver esto.

Respondido 12 ago 16, 16:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.