2010-07-06 6 views
0

Est-il possible d'obtenir la liste de tous les comptes existants à partir d'Outlook 2003 en utilisant uniquement COM standard? Cela signifie que je ne peux pas utiliser la bibliothèque Redemption, mais seulement default Outlook 2003 object model. Il est beaucoup plus facile d'obtenir des comptes à Perspectives 2007/2010:Comment faire pour obtenir la liste des comptes Outlook 2003 à l'aide du modèle d'objet Outlook 2003

dynamic outlook = AutomationFactory.GetObject("Outlook.Application"); 
var accounts = outlook.Session.Accounts; 

Mais il n'y a pas de propriété « Comptes » pour Outlook 2003. Par défaut, je peux accéder à seul compte par défaut en utilisant la propriété « CurrentUser ». Alors peut-être existe-t-il un autre moyen d'obtenir tous les comptes (en utilisant SEULEMENT le modèle d'objet Outlook 2003)?

Répondre

1

Je suis finalement found answer. Je n'utilise pas de modèle objet, mais je fais exactement la même chose que Redemption (read registry). Donc c'est une réponse acceptable pour moi.

1

La propriété Accounts n'est pas disponible dans le modèle d'objet Outlook 2003. Une façon d'obtenir cette information consiste à utiliser Extended MAPI (MAPI 1.0) et la méthode EnumerateAccounts de l'interface IOlkAccountManager. Toutefois, l'utilisation de Extendend MAPI à partir du code de gestion est discouraged. Il existe des emballages tiers, un pouplar étant Redemption. Voici quelques ressources qui vous seront utiles.

http://support.microsoft.com/kb/200018

http://www.codeproject.com/KB/IP/CMapiEx.aspx

http://www.codeproject.com/KB/office/BridgingTheGap.aspx

+0

J'ai besoin de comptes, pas de contacts. Ce sont des choses différentes. –

+0

J'ai mal lu votre question. J'ai modifié ma réponse en conséquence. – Garett

+0

Merci pour votre réponse, mais comme je l'ai écrit avant, je ne peux pas utiliser la bibliothèque Redemption ou d'autres bibliothèques tierces. Mais j'ai déjà trouvé la réponse. Alors merci pour votre aide. –

Questions connexes