1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| //Permet de récupérer le répertoire de contact de l'utilisateur
Outlook.Application oApp = new Outlook.Application();
Outlook.NameSpace oNS = (Outlook.NameSpace)oApp.GetNamespace("mapi");
oNS.Logon(null, null, true, true);
// On récupère le répertoire des contacts
//Outlook.MAPIFolder contactFolder = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);
Outlook.MAPIFolder opublic = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olPublicFoldersAllPublicFolders).Folders["Annuaire partagé"];
// On applique un filtre pour ne rechercher que les objets de type Contat, et pas les listes de distribution/diffusion
string strFind = "[MessageClass] = 'IPM.Contact'";
//Outlook.Items items = contactFolder.Items.Restrict(strFind);
Outlook.Items items = opublic.Items.Restrict(strFind);
//Outlook.Items itempublic = opublic.Items;
String[,] Invite_Outlook = new String[items.Count, 7];
// Pour chaque contact du répertoire
for (int i = 0; i < items.Count; i++)
{
try
{
// On récupère le contact en cours
Microsoft.Office.Interop.Outlook._ContactItem ContactItem = (Microsoft.Office.Interop.Outlook._ContactItem)items[i];
// Affichage des informations (Nom, prénom, Email, etc...) dans la listbox
Invite_Outlook[i, 0] = ContactItem.LastName + " " + ContactItem.FirstName;
ContactItem.Close(Microsoft.Office.Interop.Outlook.OlInspectorClose.olDiscard);
//ContactItem = null;
}
catch (Exception ex)
{ }
}
oApp = null;
oNS = null;
opublic = null;
items = null;
return Invite_Outlook;
} |
Partager