Contactos de Outlook

Cambiar las propiedades WSSTemplateID y WSSFieldID de una tabla y sus campos para hacerla compatible con Contactos de Outlook y Sharepoint.

Guardar como contacto de Outlook

Mirando en plantillas y ejemplos de Access 2007, nos encontramos en algunos formularios con opciones como "Guardar como contacto de Outlook"; si miramos en el código del botón nos encontramos con que tan sólo tiene un par de líneas, casi siempre en una macro, que lo que hacen es EjecutarComando GuardarComoContactoDeOutlook o EjecutarComando AgregarDesdeOutlook, o sus equivalentes en VBA, DoCmd.RunCommand acCmdSaveAsOutlookContact y DoCmd.RunCommand acCmdAddFromOutlook.

También nos encontramos con "Etiquetas inteligentes" (SmartTag) que, para un determinado control, muestran esas opciones y, además, "Enviar Correo" y "Programar una reunión". En este caso, añadir la etiqueta inteligente, es aun más sencillo; basta con elegir la etiqueta adecuada en el desplegable que nos muestra la propiedad "Etiquetas inteligentes" del control.

Parece sencillísimo, pero si creamos nuestra propia tabla no funciona. Si importamos la tabla desde el ejemplo y modificamos el nombre de algún campo, éste tampoco vale ¿Qué está pasando? Ocurre que de alguna manera debemos indicar que esa tabla se corresponde con una plantilla de Contactos y qué campos se corresponden con cada uno de los campos de los contactos de Outlook, y la forma de hacerlo es creando, si no existen, las propiedades WSSTemplateID y WSSFieldID de nuestra tabla y de sus campos, respectivamente, y asignándoles el valor adecuado.

Cómo se hace no es ningún secreto de estado, en Integrating Access Contacts with SharePoint and Outlook , lo explican claramente con un ejemplo de código completo. Está bien para una vez, pero vamos a tener tablas de contactos en muchas aplicaciones y, en algunas, más de una (clientes, proveedores,vendedores...) de manera que acaba resultando pesado, sobre todo si tenemos en cuenta que el código es tan sencillo que resulta muy fácil crear un complemento para seleccionar tablas y campos y cambiar las propiedades con unos pocos clics de ratón.

Complemento de Access jbwzMakeContact

El complemento consta de una simple ventana en la que seleccionamos la tabla y asignamos a cada uno de los WSSFieldID el campo de ésta que corresponda. Si ya había asignados valores, por ejemplo, porque ya lo habíamos hecho antes, o porque hemos importado la tabla de una plantilla, los valores se mostrarán al seleccionar la tabla.

Ojo. Me avisan de un fallo que tiene solución: Cuando vinculamos una tabla que ya tenía esas propiedades, los campos se muestran correctamente, pero, al haber cambiado el TableDef correspondiente, es necesario asignar a éste la propiedad WSSTemplateID. Sin embargo, hasta que no hagamos ningún cambio en alguno de los campos, no se habilitará el botón "Mostrar cambios" del complemento. Es decir, debemos simular algún cambio, volviendo luego al valor original y pulsar "Aceptar cambios".

Descarga

Debemos descargar el archivo jbwzMakeContact.rar, descomprimirlo en la ubicación que queramos y proceder a instalar el complemento.

También le puede interesar

(Pulse en la imagen para verla mas grande)