SlideShare a Scribd company logo
1 of 20
Download to read offline
Automatización y Microsoft
                    Word

                                                     Ofimática
                                                                     Vicente García Díaz – garciavicente@uniovi.es
                                                                                       Universidad de Oviedo, 2012

Adaptació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

Aspectos 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

Aspectos 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

Aspectos 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

Aspectos 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

Aspectos básicos
7

Aspectos básicos

    Documentación. Ayuda mediante Visual Basic


     • En la ayuda del programa
     • Pulsando F1 sobre uno de los comandos
8

Pruebas 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

Pruebas con la API

    Creamos un proyecto .NET
10

Pruebas con la API

    Incluimos las referencias (1/3)

     • Librerías externas para aumentar la
       disponibilidad de clases
         ▫ Java  .JAR
         ▫ .NET  .DLL
11

Pruebas con la API

Incluimos las referencias (2/3)

     • .NET y COM                 1

                                  2
12

Pruebas 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

Pruebas 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

Pruebas 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

Pruebas con la API

    Mostrar/ocultar Word




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

Pruebas con la API

    Cerrar Word




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

Pruebas con la API

    Crear un documento en blanco
18

Pruebas con la API

    Guardar el documento
19

Pruebas 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

Pruebas con la API

    Escribir en el documento




                               ¿La tabla de multiplicar del 9?

More Related Content

Similar to Automatización y Microsoft Word

Open Office Vs. Microsoft Office Apec
Open Office Vs. Microsoft Office ApecOpen Office Vs. Microsoft Office Apec
Open Office Vs. Microsoft Office ApecCarmen Maldonado
 
Net capitulo I - fundamentos
Net   capitulo I - fundamentosNet   capitulo I - fundamentos
Net capitulo I - fundamentosredtacna
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .netJefersonGuevara1
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .netJefersonGuevara1
 
Introduccion a Visual Studio .NET
Introduccion a Visual Studio .NETIntroduccion a Visual Studio .NET
Introduccion a Visual Studio .NETjnarchie
 
Conceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOConceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOnacho mascort
 
Lenguaje de programacion de visual basic
Lenguaje de programacion de visual basicLenguaje de programacion de visual basic
Lenguaje de programacion de visual basicRosa Marina Mosquera
 
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nubeMsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nubeMiguel Tabera
 
Aplicaciones inteligentes con Xamarin y Microsoft Cognitive Services "FooCamp"
Aplicaciones inteligentes con Xamarin y Microsoft Cognitive Services "FooCamp"Aplicaciones inteligentes con Xamarin y Microsoft Cognitive Services "FooCamp"
Aplicaciones inteligentes con Xamarin y Microsoft Cognitive Services "FooCamp"Yhorby Matias
 
Uso de aplic ac iones microinformáticas
Uso de aplic ac iones microinformáticasUso de aplic ac iones microinformáticas
Uso de aplic ac iones microinformáticasCésar Bello Moreno
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidadRaelyx Cordero
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionjuanpi1991
 
Uso de aplicaciones microinformaticas
Uso de aplicaciones microinformaticasUso de aplicaciones microinformaticas
Uso de aplicaciones microinformaticasCésar Bello Moreno
 

Similar to Automatización y Microsoft Word (20)

Presentacion uam impress
Presentacion uam impress Presentacion uam impress
Presentacion uam impress
 
Open Office Vs. Microsoft Office Apec
Open Office Vs. Microsoft Office ApecOpen Office Vs. Microsoft Office Apec
Open Office Vs. Microsoft Office Apec
 
Presentacion uam excel
Presentacion uam excelPresentacion uam excel
Presentacion uam excel
 
Net capitulo I - fundamentos
Net   capitulo I - fundamentosNet   capitulo I - fundamentos
Net capitulo I - fundamentos
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
 
Introduccion a Visual Studio .NET
Introduccion a Visual Studio .NETIntroduccion a Visual Studio .NET
Introduccion a Visual Studio .NET
 
Conceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOConceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEO
 
Introducción a Visual Studio .net
Introducción a Visual Studio .netIntroducción a Visual Studio .net
Introducción a Visual Studio .net
 
Lenguaje de programacion de visual basic
Lenguaje de programacion de visual basicLenguaje de programacion de visual basic
Lenguaje de programacion de visual basic
 
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nubeMsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
 
Curso c++
Curso c++Curso c++
Curso c++
 
Aplicaciones inteligentes con Xamarin y Microsoft Cognitive Services "FooCamp"
Aplicaciones inteligentes con Xamarin y Microsoft Cognitive Services "FooCamp"Aplicaciones inteligentes con Xamarin y Microsoft Cognitive Services "FooCamp"
Aplicaciones inteligentes con Xamarin y Microsoft Cognitive Services "FooCamp"
 
Uso de aplic ac iones microinformáticas
Uso de aplic ac iones microinformáticasUso de aplic ac iones microinformáticas
Uso de aplic ac iones microinformáticas
 
Procesador de palabras
Procesador de palabrasProcesador de palabras
Procesador de palabras
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
todo sobre java
todo sobre javatodo sobre java
todo sobre java
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacion
 
Uso de aplicaciones microinformaticas
Uso de aplicaciones microinformaticasUso de aplicaciones microinformaticas
Uso de aplicaciones microinformaticas
 
Proyecto Mono
Proyecto MonoProyecto Mono
Proyecto Mono
 

More from Vicente García Díaz (16)

Creating a textual domain specific language
Creating a textual domain specific languageCreating a textual domain specific language
Creating a textual domain specific language
 
Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...
 
jBPM
jBPMjBPM
jBPM
 
Wikitude. KML y ARML
Wikitude. KML y ARMLWikitude. KML y ARML
Wikitude. KML y ARML
 
Wikitude. ARchiect
Wikitude. ARchiectWikitude. ARchiect
Wikitude. ARchiect
 
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithms
 
Introducción a la ingeniería dirigida por modelos
Introducción a la ingeniería dirigida por modelosIntroducción a la ingeniería dirigida por modelos
Introducción a la ingeniería dirigida por modelos
 
Iniciación a OpenGL
Iniciación a OpenGLIniciación a OpenGL
Iniciación a OpenGL
 
Iniciación a la realidad aumentada
Iniciación a la realidad aumentadaIniciación a la realidad aumentada
Iniciación a la realidad aumentada
 
Iniciación a ARToolKit
Iniciación a ARToolKitIniciación a ARToolKit
Iniciación a ARToolKit
 
Desarrollo robótico - Robot Operating System (ROS)
Desarrollo robótico - Robot Operating System (ROS)Desarrollo robótico - Robot Operating System (ROS)
Desarrollo robótico - Robot Operating System (ROS)
 
Wikitude. Servicios Seb
Wikitude. Servicios SebWikitude. Servicios Seb
Wikitude. Servicios Seb
 
LaTeX
LaTeXLaTeX
LaTeX
 
Árboles
ÁrbolesÁrboles
Árboles
 
Dispersión y tablas hash
Dispersión y tablas hashDispersión y tablas hash
Dispersión y tablas hash
 
Grafos
GrafosGrafos
Grafos
 

Automatización y Microsoft Word

  • 1. Automatización y Microsoft Word Ofimática Vicente García Díaz – garciavicente@uniovi.es Universidad de Oviedo, 2012 Adaptació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 Aspectos 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 Aspectos 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 Aspectos 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 Aspectos 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
  • 7. 7 Aspectos básicos Documentación. Ayuda mediante Visual Basic • En la ayuda del programa • Pulsando F1 sobre uno de los comandos
  • 8. 8 Pruebas 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 Pruebas con la API Creamos un proyecto .NET
  • 10. 10 Pruebas con la API Incluimos las referencias (1/3) • Librerías externas para aumentar la disponibilidad de clases ▫ Java  .JAR ▫ .NET  .DLL
  • 11. 11 Pruebas con la API Incluimos las referencias (2/3) • .NET y COM 1 2
  • 12. 12 Pruebas 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 Pruebas 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 Pruebas 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 Pruebas con la API Mostrar/ocultar Word • Ahora ya se muestra / oculta Word y se puede cerrar haciendo clic en la X
  • 16. 16 Pruebas con la API Cerrar Word • Ahora ya se puede cerrar Word desde el nuevo botón
  • 17. 17 Pruebas con la API Crear un documento en blanco
  • 18. 18 Pruebas con la API Guardar el documento
  • 19. 19 Pruebas 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 Pruebas con la API Escribir en el documento ¿La tabla de multiplicar del 9?