2010-02-20 4 views
2

Comment accéder au "Carnet d'adresses en mode hors connexion" (à partir du serveur Exchange/Outlook configuré pour échanger la machine) en utilisant Redemption dll (C#).Accès par programme "Carnet d'adresses en mode hors connexion" en utilisant Redemption

Je cherche un exemple de code pour continuer ma tâche.

+0

Grande - bonne chance. Avez-vous une question? –

+0

La chose triste est que lorsque je Google pour une piste potentielle, cette question est le résultat numéro 1. – Greg

Répondre

2

Essayez ceci. J'utilise Redemption 4.6. J'ai créé un formulaire et ajouté un DataGridView pour la visualisation des résultats. Voici mon code:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 

namespace TestingJojoWinForms 
{ 
public partial class frmRedemption : Form 
{ 
    public frmRedemption() 
    { 
     InitializeComponent(); 
    } 

    private void frmRedemption_Load(object sender, EventArgs e) 
    { 
     DataTable dtResult = new DataTable("Result"); 
     dtResult.Columns.Add("EntryID"); 
     dtResult.Columns.Add("FirstName"); 
     dtResult.Columns.Add("LastName"); 
     dtResult.Columns.Add("Alias"); 
     dtResult.Columns.Add("SMTPAddress"); 
     dtResult.Columns.Add("JobTitle"); 
     dtResult.Columns.Add("Address"); 
     dtResult.Columns.Add("StreetAddress"); 

     Redemption.RDOSessionClass session = new Redemption.RDOSessionClass(); 
     session.Logon(@"your_account_name", "your_password", false, false, 0, false); 
     for(int index = 1; index <= session.AddressBook.GAL.AddressEntries.Count; index++) 
     { 
      Redemption.RDOAddressEntryClass entry = (Redemption.RDOAddressEntryClass)session.AddressBook.GAL.AddressEntries.Item(index); 
      dtResult.Rows.Add(entry.EntryID, entry.FirstName, entry.LastName, entry.Alias, entry.SMTPAddress, entry.JobTitle, entry.Address, entry.StreetAddress); 
     } 
     session.Logoff(); 

     this.dataGridView1.DataSource = dtResult; 
    } 


} 
} 

Le résultat sera comme ceci: alt text http://www.freeimagehosting.net/uploads/b46bb6d3a1.jpg

+0

Thanx Jojo.Code fonctionne bien – Preeti

0

Désolé, ce n'est pas une bonne réponse, mais je laisserais tomber Dmitry Streblechenko (le développeur de la bibliothèque Redemption) un e-mail - il a toujours été rapide à répondre et très utile.

Son adresse e-mail est sur le site Web de rachat: http://www.dimastr.com/redemption/

0

Il serait utile d'être plus précis dans votre question. Le "carnet d'adresses en mode hors connexion" est automatiquement géré par Outlook en tant que copie en mémoire cache de la liste d'adresses globales d'Exchange, voir KB article.

Si vous avez besoin d'accéder à un élément du carnet d'adresses, utilisez l'objet SafeContact de Redemption. Le fait qu'Oulook cache les informations de contact devrait être transparent pour l'utilisateur.

Il n'y a pas grand-chose à faire dans l'interface utilisateur d'Outlook concernant le carnet d'adresses en mode hors connexion. Votre question signifie-t-elle déclencher par programmation une mise à jour du carnet d'adresses? Comme, dans Outlook 2010, dans l'onglet Envoyer/Recevoir, Envoyer & Recevoir groupe, Envoyer/recevoir des groupes liste déroulante, télécharger le carnet d'adresses?

Questions connexes