automatización y microsoft word

20
Automatización y Microsoft Word Vicente García Díaz – [email protected] Universidad de Oviedo, 2012 Ofimática Adaptación basada en los documentos de cursos anteriores realizados por María Elena Alva de Sagastegui - [email protected] y Agustín Cernuda del Río - [email protected] para la asignatura de Ofimática (Escuela de Ingeniería Informática de la Universidad de Oviedo)

Upload: vicente-garcia-diaz

Post on 28-Jun-2015

788 views

Category:

Documents


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Automatización y Microsoft Word

Automatización y Microsoft Word

Vicente García Díaz – [email protected]

Universidad de Oviedo, 2012

Ofimática

Adaptación basada en los documentos de cursos anteriores realizados por María Elena Alva de Sagastegui - [email protected] y Agustín Cernuda del Río - [email protected] para la asignatura de Ofimática (Escuela de Ingeniería Informática de la Universidad de Oviedo)

Page 2: Automatización y Microsoft Word

Automatización de aplicaciones de Microsoft Office

Aspectos básicos

2

• 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

Page 3: Automatización y Microsoft Word

Librerías de objetos COM Aspectos básicos

3

• 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

Page 4: Automatización y Microsoft Word

Comunicación entre COM y .NET Aspectos básicos

4

• .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

Page 6: Automatización y Microsoft Word

Aspectos básicos

6

Page 7: Automatización y Microsoft Word

Documentación. Ayuda mediante Visual Basic Aspectos básicos

7

• En la ayuda del programa

• Pulsando F1 sobre uno de los comandos

Page 8: Automatización y Microsoft Word

Pasos para la automatización Pruebas con la API

8

• 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

Page 9: Automatización y Microsoft Word

Creamos un proyecto .NET

9

Pruebas con la API

Page 10: Automatización y Microsoft Word

Incluimos las referencias (1/3)

10

• Librerías externas para aumentar la disponibilidad de clases ▫ Java .JAR

▫ .NET .DLL

Pruebas con la API

Page 11: Automatización y Microsoft Word

Incluimos las referencias (2/3)

11

• .NET y COM 1

2

Pruebas con la API

Page 12: Automatización y Microsoft Word

Incluimos las referencias (3/3)

12

• Aunque sean librerías COM, se tratan como si fueran librerías .NET

• Clases “envoltorio”

• Permiten facilitar su empleo

Pruebas con la API

Page 13: Automatización y Microsoft Word

Para utilizar las clases de las librerías

13

• Dos opciones:

Pruebas con la API

También se podría poner: using Word = Microsoft.Office.Interop.Word

Page 14: Automatización y Microsoft Word

Para abrir una instancia Word

14

• 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

Pruebas con la API

Page 15: Automatización y Microsoft Word

Mostrar/ocultar Word

15

• Ahora ya se muestra / oculta Word y se puede cerrar haciendo clic en la X

Pruebas con la API

Page 16: Automatización y Microsoft Word

Pruebas con la API

Cerrar Word

16

• Ahora ya se puede cerrar Word desde el nuevo botón

Page 17: Automatización y Microsoft Word

Crear un documento en blanco

17

Pruebas con la API

Page 18: Automatización y Microsoft Word

Guardar el documento

18

Pruebas con la API

Page 19: Automatización y Microsoft Word

Trabajar con texto

19

• 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()

Pruebas con la API

Page 20: Automatización y Microsoft Word

Escribir en el documento

20

Pruebas con la API

¿La tabla de multiplicar del 9?