¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí

Controlar otras aplicaciones de Office 2016

Automatización

Hasta ahora hemos visto varias maneras de programar en una aplicación Microsoft Access 2016. En este capítulo, vamos a ver cómo es posible controlar desde Access el resto de las aplicaciones adicionales principales de la suite de Office, que son Excel, Word y Outlook.

1. Enlace retrasado y enlace anticipado

Durante el trabajo con variables de tipo Object, el compilador VB realiza lo que se llama enlace cuando se asigna una variable a un valor, como en el siguiente ejemplo:


Set Tbl = CurrentDb.TableDefs("T_Formaciones")
 

Para poder realizar un enlace entre una variable y un objeto, la variable debe estar declarada con antelación en el programa. Esta declaración desembocará en dos posibles enlaces.

a. Enlace anticipado o Early Binding

Cuando la variable se declara con su tipo concreto, como en el siguiente ejemplo, se dice que el enlace es anticipado:


Dim Tbl As TableDef
 

Este tipo de declaración permite al código prever el espacio de memoria necesario para almacenar el tipo de la variable. También tenemos la ventaja de poder hacer referencia a los métodos y propiedades del tipo de objeto utilizando la funcionalidad de autocompletar.

Para que esta sintaxis sea posible, es necesario añadir al proyecto la referencia a la librería implicada (Herramientas - Referencias).

Se tiende a dar prioridad a este tipo de declaración cuando se puede hacer.

b. Enlace retrasado o Late Binding

Cuando la variable se declara de tipo Object, como en el siguiente ejemplo, se dice que la declaración...

Controlar Excel

Para controlar la aplicación Excel, es necesario añadir la librería Microsoft Excel 16.0 Object Library en las referencias al proyecto (Herramientas - Referencias).

images/RI11-07.png

Si no encuentra esta librería en la lista disponible, puede hacer clic en Examinar y buscar el archivo Excel.exe en su máquina. Normalmente estará en: C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE

1. Jerarquía de los objetos de Excel

El siguiente esquema representa la jerarquía de los principales objetos y colecciones disponibles en Microsoft Excel.

images/RI11-08.png

2. Los formatos de Excel

Los diferentes formatos que se soportan aparecen en la interfaz de Excel 2016 que permite guardar.

images/RI11-09.png

Respecto a los archivos que se definen como "archivos de Excel", hay varias extensiones de archivos. En esta sección se va a recordar las diferentes versiones que puede manipular.

a. Antes de Excel 2007 - .xls

La extensión histórica de los archivos Excel es .xls. El nombre de este formato es Libro de Microsoft Excel 97-2003, y contiene entre 16.384 y 65.536 filas, según las versiones, con 256 columnas.

b. Después de Excel 2007

Cuando salió la versión Microsoft Excel 2007, aparecieron varias nuevas extensiones. El soporte del formato XML y el aumento de la capacidad de almacenamiento de los archivos son las principales evoluciones y mejoras añadidas a estos.

Extensión

Formato

Descripción

xlsx

Libro de Excel

Formato por defecto, archivo sin macro.

xlsm

Libro de Excel que soporta las macros

Formato que permite guardar módulos de código VBA.

xlsb

Libro de Excel binario

Formato que permite almacenar macros, haciendo más compacto el archivo.

xlt, xltx, xltm

Libro plantilla de Excel

Formato de plantilla, xlt es anterior a Microsoft Excel 2007, xltx es una plantilla sin macro, xltm una plantilla con macro.

Las extensiones de archivos que se utilizan más habitualmente son xlsx y xlsm, y en menor medida xlsb, a pesar de que su rendimiento y tamaño reducido que tiene a contenido equivalente.

También hay extensiones de archivos compatibles, pero que no tienen interés actualmente, vista la evolución de la tecnología y, fundamentalmente, la llegada de la cinta de opciones.

Extensiones compatibles pero anticuadas

Descripción

xlb

Archivo para la administración de las barras de herramientas y comandos...

Controlar Word

Para controlar la aplicación Word, es necesario añadir la librería Microsoft Word 16.0 Object Library en las referencias del proyecto (Herramientas - Referencias).

images/RI11-29.png

Si no encuentra esta librería en la lista disponible, puede hacer clic en Examinar y buscar en su máquina el archivo WinWord.exe, que normalmente estará en la ubicación: C:\Program Files (x86)\Microsoft Office\Root\Office16\WINWORD.EXE

1. Jerarquía de los objetos de Word

El siguiente esquema representa la jerarquía de los principales objetos y colecciones en la aplicación.

images/RI11-30.png

2. Lista de los principales objetos y colecciones de Word

Los principales objetos y colecciones que es posible manipular en Word son los siguientes.

a. La aplicación

El objeto Application de Word es el objeto de más alto nivel en el modelo de Word, al mismo nivel que el objeto Application de Microsoft Access. Para no tener conflicto con los nombres, debe estar precedido del nombre de la aplicación. Por tanto, la variable que representa al objeto Application de Word, se declarará como sigue:


Dim wdApp As Word.Application
 

Observe que a este nivel del programa no se ha creado ninguna instancia de Word. Solo puede existir cuando la variable wdApp tenga valor. La siguiente sintaxis crea una nueva instancia de la aplicación Word durante la declaración de la variable:


Dim wdApp As New Word.Application
 

Para no crear procesos zombis en la máquina, convendría salir de la aplicación Word con la instrucción:


wdApp.Quit
 

Principales métodos

El objetivo del presente libro no es explicar exhaustivamente la aplicación Microsoft Word 2016. A continuación se muestran los principales métodos que es interesante conocer para controlarla desde Microsoft Access.

Método

Descripción

CheckSpelling

Permite la comprobación ortográfica de una palabra.

MergeDocumentos

Permite fusionar dos documentos de Word, los elementos fusionados se marcan usando las marcas de revisión.

OnTime

Permite planificar la ejecución de una macro en un momento dado del futuro.

PrintOut

Permite la impresión del documento especificado.

Quit

Permite salir de Excel.

Run

Permite ejecutar una macro o llamar a una función VBA.

Principales propiedades

Propiedad

Descripción

DisplayAlerts

Permite definir si los mensajes de alerta están activos...

Controlar Outlook

Para controlar la aplicación Outlook, es necesario añadir la librería Microsoft Outlook 16.0 Object Library a las referencias del proyecto (Herramientas - Referencias).

images/RI11_43.png

Si no encuentra esta librería en la lista disponible, puede hacer clic en Examinar y buscar el archivo MSOUTL.OLB en su máquina, que normalmente está en: C:\Program Files (x86)\Microsoft Office\Root\Office16\MSOUTL.OLB

1. Jerarquía de los objetos de Outlook

El siguiente esquema representa la jerarquía de los principales objetos y colecciones de la aplicación Outlook.

images/RI11-44.png

2. Lista de los principales objetos y colecciones de Outlook

Los principales objetos y colecciones que es posible manipular en Outlook son los siguientes.

a. La aplicación

El objeto Application de Outlook es el objeto en el modelo de Outlook, al mismo nivel que el objeto Application de Microsoft Access. Para no tener conflicto con los nombres, debe estar precedido del nombre de la aplicación. Por tanto, la variable que representa el objeto Application de Outlook se declarará como sigue:


Dim olApp As Outlook.Application
 

Observe que en este nivel del programa no se ha creado ninguna instancia de Outlook. No puede existir hasta que la variable olApp tenga valor. La siguiente sintaxis crea una nueva instancia de la aplicación Outlook durante la declaración de la variable:


Dim olApp As New Outlook.Application
 

Para no crear procesos zombis en la máquina, conviene salir de la aplicación Outlook con la instrucción:


olApp.Quit
 

Principales métodos

El objetivo de este libro no es ser exhaustivo en la explicación de la aplicación Outlook. A continuación se muestran los principales métodos que es interesante conocer para controlarla desde Microsoft Access.

Método

Descripción

CreateItem

Permite crear un nuevo objeto de Outlook (Reunión, Contacto, Mail y Tarea, entre de otras).

Quit

Permite salir de Outlook.

Principales propiedades

Propiedad

Descripción

DefaultProfileName

Permite obtener el nombre del perfil por defecto en Outlook.

Session

Permite manipular la información de la sesión actual en Outlook.

Ejemplo

El siguiente código crea una nueva aplicación de Outlook, la hace visible y después la cierra.


Dim olApp As New Outlook.Application 
olApp.Visible = True 
olApp.Quit
 

Para acceder a las carpetas...