2011-02-10 12 views
10

Quiero saber si esto se puede hacer.Edición de documentos de Microsoft Word mediante programación

Estoy construyendo un diccionario de datos para nuestro sistema de software (proyecto escolar), y estoy pensando en una forma automática de hacerlo. Básicamente, no utilizo mucho de Microsoft Word (2007), solo lo uso para documentar cosas de escuelas, etc. Quiero saber si es posible crear/editar un documento de Word mediante programación a partir de una plantilla.

La idea es que crearé una página en Word que contenga un formulario vacío que se repetirá en cada página. Por cada dato que ingresaré en mi programa, actualizará el campo correspondiente en el formulario y saltará al siguiente formulario.

El propósito de esto es eliminar los métodos copiar y pegar (mi costumbre) y acelerar las cosas al hacer la documentación.

Respuesta

5

automatización de Word, como se sugiere por otros, que dará lugar a un mundo de dolor por dos razones principales:

  1. Office no está pensado para ejecutarse sin vigilancia, por lo que puede abrir cuadros de mensaje en cualquier momento, y
  2. (Probablemente) no tiene licencia para habilitar la funcionalidad de la oficina para computadoras que no la tienen. Si genera un documento de Word en un sitio web utilizando la automatización, debe asegurarse de que las computadoras que no tienen Office instaladas no puedan acceder a esta funcionalidad (a menos que hayan cambiado esta regla en los últimos años).

He usado Aspose.Words, cuesta un poco, pero funciona bien y está diseñado para esto.

+1

no voy a comentar sobre su sugerencia, ya que no sé nada al respecto, pero con respecto a sus razones para evitar la oficina Automatización Diría que no recuerdo haber tenido problemas con el número 1 después de que el código se haya escrito correctamente, y el número 2 podría no ser relevante para el OP, ya que no menciona un servidor web. Aunque te daré que puede ser difícil escribir el código de automatización correctamente, pero creo que tu respuesta es demasiado negativa. –

+1

Además, incluso si $ 899 podría no ser tanto dinero al desarrollar software profesional, al hacer un proyecto en la escuela podría ser un poco excesivo :) –

+0

@ ho1: Los proyectos escolares suelen ser más divertidos que crear un documento Word. La creación de documentos parece un proyecto empresarial típico. – erikkallen

2

definitivamente posible. Una forma bastante fácil de hacerlo usando Office Automation. Consulte este artículo de KB para una muestra básica: How to automate Microsoft Word to create a new document by using Visual C#

Creo que la principal diferencia para esa muestra será que abrirá su plantilla y hará SaveAs en lugar de crear un documento nuevo, pero no recuerdo exactamente.

Sin embargo, dependiendo de sus requisitos exactos, puede haber mejores alternativas. Por ejemplo, no se recomienda realizar automatización de Office en los servidores (incluidos los servidores web), por lo que, si es necesario, es posible que desee ver otra cosa.

Cuestiones relacionadas