2010-10-28 24 views
5

Cada semana produzco un documento de Word con algunas copias, tablas y gráficos de varias fuentes en nuestra red.Crear documento de Word 2010 mediante programación

Puede tomar un poco de tiempo y, a veces, cometer errores u olvidar cosas que deberían entrar. Quiero automatizar este proceso tanto como sea posible.

Así que, básicamente, quiero hacer una plantilla de Word o una aplicación de consola que cuando lo abra/ejecute se apague y recoja todo esto y lo vincule en las diversas partes del documento.

Supongamos que tengo que insertar:

  • Algunos copia de otro documento de Word
  • Un PNG (gráfico circular)
  • Crear una tabla desde un archivo CSV
  • tienen un encabezado estándar y pie de página con número de página

Normalmente hago algunos cambios en la copia del documento para resaltar lo más destacado de la semana.

Luego verifico en un SharePoint donde los usuarios de la red pueden abrirlo y verlo.

Me imagino que lo que hay que hacer es abrir grietas VS2010 y hacer un proyecto de plantilla de Word. Nunca he hecho esto antes y me pregunté qué trampas hay o si es una forma adecuada de resolver mi problema.

Mi otra opción sería un poco de poder pero tampoco soy un experto allí.

Estaría muy cómodo escribiendo aplicaciones de consola para que termine haciéndolo de esa manera.

Se agradece la ayuda/consejo.

Respuesta

4

Me gustaría abordar este problema dividiendo los pasos individuales, ya que los realizaría si estuviera sentado delante de un documento de Word en blanco. Luego, automatízalo usando el modelo de objetos. Hay un poco de curva de aprendizaje, pero una vez que lo superes serás adicto a la automatización de Office. Office es una plataforma bastante poderosa. La mayoría de lo que puede lograr a través de la interfaz de usuario se puede hacer programáticamente. Hago bastante automatización con Excel. El código es bastante intuitivo ... es como una hoja de cálculo. Rango ["A1"] = "abcd" (configuración de la celda A1 = "abcd").

Éstos son algunos consejos:

http://support.microsoft.com/kb/316383

http://msdn.microsoft.com/en-us/library/ee861527.aspx

Si usted pasa por el tutorial en el primer link, que obtendrá la esencia de la misma. Lo mejor es que puede usar el depurador para recorrer sus líneas de código. A medida que se ejecuta cada línea, puede ver los resultados en el documento de Word. Nunca he usado un proyecto de Plantilla de Word, así que no puedo hablar sobre los pros/contras. Siguiendo la ruta del modelo de objetos, solo tiene que articular lo que desea que suceda, dividirlo en pasos individuales a medida que los realiza, y luego codificarlo. Si te quedas atascado, es probable que alguien más haya publicado o publicado un blog sobre cómo hacer que algo suceda. Google encontrará una solución muy rápida. ¡Buena suerte!

0

Tienes un montón de opciones:

  • automatizar Word
  • lo hacen como una macro (dotm)
  • crear el documento con Open XML SDK
  • VSTO

Usted probablemente sea mejor hacerlo primero usando macro, aunque este es el viejo VB6. Las técnicas que aprendes rápidamente se traducen muy bien en los otros enfoques. Open XML SDK tiene la virtud de no necesitar Word para crear el documento.

Cuestiones relacionadas