Mostrar nombres de la Libreta de direcciones
En este tema se describe la libreta de direcciones y se explica cómo mostrar mediante programación los nombres de una libreta de direcciones en el cuadro de diálogo Libreta de direcciones de Outlook.
Outlook mantiene una jerarquía de libretas de direcciones para una sesión. Para que el proveedor de transporte entregue un mensaje, el destinatario debe tener una entrada de dirección en una de las libretas de direcciones de esta jerarquía.
Una libreta de direcciones contiene una o varias listas de direcciones. Cada lista de direcciones se compone de usuarios, listas de distribución u otros tipos de entradas de dirección. Un ejemplo de lista de direcciones es la Lista global de direcciones de Exchange. En la interfaz de usuario de Outlook, puede abrir el cuadro de diálogo Libreta de direcciones para ver y seleccionar los nombres de una lista de direcciones. Cuando se crea un elemento de correo o un elemento de cita, o cuando se asigna un elemento de tarea, puede utilizar la Libreta de direcciones para que le ayude a seleccionar los destinatarios.
La libreta de direcciones de Outlook es una lista de direcciones o un conjunto de listas de direcciones que Outlook crea automáticamente. De forma predeterminada, contiene una lista de direcciones para los contactos de la carpeta Contactos que tienen al menos una dirección de correo electrónico o entrada de número de fax. Al crear otras carpetas en el módulo Contactos, de forma predeterminada, cada carpeta también se convertirá en una lista de direcciones en la Libreta de direcciones de Outlook. En la pestaña Libreta de direcciones de Outlook del cuadro de diálogo Propiedades de la carpeta, puede seleccionar o anular la selección de Mostrar esta carpeta como una libreta de direcciones de correo electrónico.
Desde la perspectiva de programación, Outlook mantiene una colección de listas de direcciones para la sesión actual. Cada lista de direcciones consta de una colección de AddressEntries. Hay diferentes tipos de listas de direcciones (enumeradas por OlAddressListType) y diferentes tipos de entradas de dirección (como se enumera en OlAddressEntryUserType). Al agregar una carpeta al módulo Contactos, puede usar Folder.ShowAsOutlookAB para especificar si esa carpeta se mostrará como una lista de direcciones en la Libreta de direcciones de Outlook.
El objeto Recipient está asociado a un objeto AddressEntry especificado por la propiedad Recipient.Address . También puede usar la propiedad AddressEntry.AddressEntryUserType para identificar el tipo del destinatario, por ejemplo, si el destinatario es un elemento Contact, un usuario de Exchange o una lista de distribución de Exchange.
El objeto SelectNamesDialog permite mostrar nombres de una lista de direcciones en un cuadro de diálogo similar al cuadro de diálogo Seleccionar nombres de la interfaz de usuario de Outlook. La ilustración siguiente es un ejemplo del cuadro de diálogo Seleccionar nombres que muestra la carpeta Contactos.
El cuadro de diálogo permite a un usuario seleccionar entradas de una o varias listas de direcciones en la Libreta de direcciones y devuelve los destinatarios seleccionados en la propiedad SelectNamesDialog.Recipients . Mediante las propiedades y los métodos de SelectNamesDialog puede controlar los siguientes aspectos del cuadro de diálogo:
La lista de direcciones inicial que aparecerá en el cuadro de diálogo y si será la única que aparezca.
El número de selectores de destinatarios, por ejemplo, si aparecerán las tres etiquetas de Para, CC y CCO.
Las cadenas que representan el título y las etiquetas de Para, CC y CCO cuando proceda. Los títulos y las etiquetas que sean demasiado largos se truncarán sin ajustar el tamaño del cuadro de diálogo.
Si el usuario podrá seleccionar una o varias entradas de dirección al mismo tiempo.
Si los nombres de los destinatarios se resolverán antes de cerrar el cuadro de diálogo.
Lo que se hará en caso de que no se resuelvan todos los destinatarios.
Para mostrar el cuadro de diálogo con nombres de una lista de direcciones:
Use el método GetSelectNamesDialog de la sesión actual (indicada por Application.Session) para obtener una instancia del objeto SelectNamesDialog para la sesión actual.
Utilice la propiedad AddressLists de la sesión actual para obtener la colección de objetos AddressLists correspondiente a la sesión actual.
De forma predeterminada, el cuadro de diálogo se inicializa con la lista de direcciones que tiene AddressList.IsInitialAddressList establecido en True. Si es necesario, puede utilizar SelectNamesDialog.InitialAddressList para inicializar el cuadro de diálogo con otro objeto AddressList de la colección AddressLists obtenida en el paso 2.
Utilice SelectNamesDialog.Display para mostrar el cuadro de diálogo. Este método devuelve un valor True o False según SelectNamesDialog.ForceResolution y la respuesta del usuario:
- Este método devuelve True si se establece SelectNamesDialog.ForceResolution , se resuelven todos los nombres seleccionados y el usuario hace clic en Aceptar.
Devuelve False si se establece SelectNamesDialog.ForceResolution , pero no se resuelven todos los destinatarios.
Devuelve False si SelectNamesDialog.ForceResolution no está establecido y el usuario hace clic en Aceptar.
Devuelve False si el usuario hace clic en Cancelar o en el icono Cerrar .
- Si SelectNamesDialog.Display devuelve True, obtenga las entradas de dirección seleccionadas mediante SelectNamesDialog.Recipients.
Consulte también
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.