Consultar la respuesta de un administrador a una convocatoria de reunión
En este ejemplo se muestra cómo usar los métodos GetExchangeUser() y GetExchangeUserManager() para comprobar el estado de respuesta del administrador del usuario actual a una convocatoria de reunión.
Ejemplo
Nota:
El siguiente ejemplo de código es un fragmento de Aplicaciones de programación para Microsoft Office Outlook 2007.
Para determinar si un destinatario específico ha aceptado o rechazado una reunión solicitada, use la propiedad MeetingResponseStatus del objeto Recipient desde la colección Recipients asociada con el objeto AppointmentItem.
En el ejemplo siguiente, CheckManagerResponseStatus toma un objeto AppointmentItem como parámetro. CheckManagerResponseStatus obtiene el objeto ExchangeUser llamando al método GetExchangeUser del usuario actual. CheckManagerResponseStatus obtiene luego el objeto ExchangeUser que está asociado con el administrador del usuario actual llamando al método GetExchangeUserManager. Usando el método CompareEntryIDs(String, String) del objeto NameSpace, en el ejemplo se comprueba si el objeto Recipient asociado con el objeto AppointmentItem es el mismo que el objeto ExchangeUser que representa el administrador del usuario. Si CompareEntryIDs devuelve verdadero, el administrador del usuario se encuentra en la colección de Recipients y CheckManagerResponseStatus devuelve el MeetingResponseStatus del administrador. Si CompareEntryIDs devuelve falso, CheckManagerResponseStatus devuelve una referencia nula.
Si usa Visual Studio para probar este ejemplo de código, primero debe agregar una referencia al componente de la biblioteca de objetos de Microsoft Outlook 15.0 y especificar la variable de Outlook al importar el espacio de nombres Microsoft.Office.Interop.Outlook. La instrucción using no debe producirse directamente antes de las funciones en el ejemplo de código, pero debe agregarse antes de la declaración de clase pública. La siguiente línea de código muestra cómo realizar la importación y la asignación en C#.
using Outlook = Microsoft.Office.Interop.Outlook;
private Object CheckManagerResponseStatus(Outlook.AppointmentItem appt)
{
try
{
if (appt == null)
{
throw new ArgumentNullException();
}
Outlook.AddressEntry user =
Application.Session.CurrentUser.AddressEntry;
Outlook.ExchangeUser userEx = user.GetExchangeUser();
if (userEx == null)
{
return null;
}
Outlook.ExchangeUser manager =
userEx.GetExchangeUserManager();
if (manager == null)
{
return null;
}
foreach (Outlook.Recipient recip in appt.Recipients)
{
if (Application.Session.CompareEntryIDs(
recip.AddressEntry.ID, manager.ID))
{
return recip.MeetingResponseStatus;
}
}
return null;
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
return null;
}
}
Vea también
- Exchange users (Usuarios de Exchange)