Automatización y Microsoft Word

1,459 views

Published on

Automatización de Microsoft Word con Visual Studio .NET y C#

  • Be the first to comment

  • Be the first to like this

Automatización y Microsoft Word

  1. 1. Automatización y Microsoft Word Ofimática Vicente García Díaz – garciavicente@uniovi.es Universidad de Oviedo, 2012Adaptación basada en los documentos de cursos anteriores realizados por María Elena Alva de Sagastegui - alvamaria@unovi.es y Agustín Cernuda del Río - guti@uniovi.es para la asignatura de Ofimática (Escuela de Ingeniería Informática de la Universidad de Oviedo)
  2. 2. 2Aspectos básicos Automatización de aplicaciones de Microsoft Office • Las aplicaciones de Microsoft Office ofrecen librerías para trabajar con ellas • Las librerías permiten trabajar con toda la funcionalidad que ofrece Office como si fueran objetos de programación • Por lo tanto, puede trabajarse con Office desde software que nosotros desarrollemos con lenguajes de programación ▫ El software desarrollado: Automation Controller ▫ Los objetos Office que se pueden acceder y manipular: Automation Object
  3. 3. 3Aspectos básicos Librerías de objetos COM • Las librerías de Microsoft Office son librerías COM ▫ Component Object Model (Microsoft, 1993) • Permite: ▫ La comunicación entre procesos ▫ La intercomunicación entre objetos escritos en cualquier lenguaje • Abarca varias tecnologías ▫ OLE ▫ OLE Automatic ▫ ActiveX ▫ COM+ ▫ DCOM
  4. 4. 4Aspectos básicos Comunicación entre COM y .NET • .NET está sustituyendo a la tecnología COM • Desde .NET se puede trabajar con la tecnología COM • Se utilizan “envoltorios” llamados RCM (envoltorio de tiempo de ejecución) • La tecnología utilizada es COM Interop
  5. 5. 5Aspectos básicos Documentación • En MSDN ▫ Por ejemplo para Word ▫ http://msdn.microsoft.com/en- us/library/microsoft.office.interop.word(v=office.11).aspx • En la ficha programador
  6. 6. 6Aspectos básicos
  7. 7. 7Aspectos básicos Documentación. Ayuda mediante Visual Basic • En la ayuda del programa • Pulsando F1 sobre uno de los comandos
  8. 8. 8Pruebas con la API Pasos para la automatización • Es muy sencillo: 1. Se crea un proyecto de .NET 2. Se incluyen las referencias de las librerías necesarias 3. Se incluye el código deseado
  9. 9. 9Pruebas con la API Creamos un proyecto .NET
  10. 10. 10Pruebas con la API Incluimos las referencias (1/3) • Librerías externas para aumentar la disponibilidad de clases ▫ Java  .JAR ▫ .NET  .DLL
  11. 11. 11Pruebas con la APIIncluimos las referencias (2/3) • .NET y COM 1 2
  12. 12. 12Pruebas con la API Incluimos las referencias (3/3) • Aunque sean librerías COM, se tratan como si fueran librerías .NET • Clases “envoltorio” • Permiten facilitar su empleo
  13. 13. 13Pruebas con la API Para utilizar las clases de las librerías • Dos opciones: También se podría poner: using Word = Microsoft.Office.Interop.Word
  14. 14. 14Pruebas con la API Para abrir una instancia Word• Insertamos un botón en la ventana• Hacemos doble “clic” en él• Introducimos el siguiente código:• No se verá nada, pero si vamos al administrador de tareas habrá un proceso WINWORD.EXE
  15. 15. 15Pruebas con la API Mostrar/ocultar Word • Ahora ya se muestra / oculta Word y se puede cerrar haciendo clic en la X
  16. 16. 16Pruebas con la API Cerrar Word • Ahora ya se puede cerrar Word desde el nuevo botón
  17. 17. 17Pruebas con la API Crear un documento en blanco
  18. 18. 18Pruebas con la API Guardar el documento
  19. 19. 19Pruebas con la API Trabajar con texto • Diferentes métodos de acceso ▫ miWord.Selection.Copy() ▫ miWord.Selection.Cut() ▫ miWord.Selection.Paste() ▫ miWord.Selection.Delete() ▫ miWord.Selection.CheckSpelling() ▫ miWord.Selection.Move() ▫ miWord.Selection.Equals()
  20. 20. 20Pruebas con la API Escribir en el documento ¿La tabla de multiplicar del 9?

×