Compartir a través de


Obtener información sobre los subordinados directos del administrador del usuario actual

En este ejemplo se obtienen los subordinados directos del administrador del usuario actual, si existen, y se muestra información sobre cada uno de ellos.

Ejemplo

Nota:

El siguiente ejemplo de código es un fragmento de Aplicaciones de programación para Microsoft Office Outlook 2007.

En el ejemplo siguiente el procedimiento GetManagerDirectReports llama al método GetExchangeUserManager() para obtener el administrador del usuario, representado por un objeto ExchangeUser. Si el usuario actual tiene un administrador, se llama a GetDirectReports() para devolver una colección AddressEntries que representa las entradas de dirección para todos los subordinados directos del administrador del usuario. Si el administrador no tiene ningún subordinado directo, GetDirectReports devuelve una colección AddressEntries con un total de cero. Cuando se obtienen los subordinados directos del administrador, GetManagerDirectReports escribe información sobre cada uno de ellos en las escucha de seguimiento de la colección Listeners.

Nota:

El usuario que ha iniciado sesión debe estar en línea para que este método devuelva una colección AddressEntries; en caso contrario, GetDirectReports devuelve una referencia nula. Para el código de producción, debe probar si el usuario está sin conexión mediante la propiedad _NameSpace.ExchangeConnectionMode o la propiedad _Account.ExchangeConnectionMode para varios escenarios de Exchange.

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 void GetManagerDirectReports()
{
    Outlook.AddressEntry currentUser =
        Application.Session.CurrentUser.AddressEntry;
    if (currentUser.Type == "EX")
    {
        Outlook.ExchangeUser manager =
            currentUser.GetExchangeUser().GetExchangeUserManager();
        if (manager != null)
        {
            Outlook.AddressEntries addrEntries =
                manager.GetDirectReports();
            if (addrEntries != null)
            {
                foreach (Outlook.AddressEntry addrEntry
                    in addrEntries)
                {
                    Outlook.ExchangeUser exchUser =
                        addrEntry.GetExchangeUser();
                    StringBuilder sb = new StringBuilder();
                    sb.AppendLine("Name: "
                        + exchUser.Name);
                    sb.AppendLine("Title: "
                        + exchUser.JobTitle);
                    sb.AppendLine("Department: "
                        + exchUser.Department);
                    sb.AppendLine("Location: "
                        + exchUser.OfficeLocation);
                    Debug.WriteLine(sb.ToString());
                }
            }
        }
    }
}

Vea también