[EDIT=herbivore]Abgeteilt von Outlook - Adressbuch lesen[EDIT]
hey!
ich suche auch grade nach möglichkeiten an das adressbuch von outlook zu kommen.
ich habe es schon geschafft, die adressen aus einem Text-Drucker ausdruck aller AOL-Kontakte aus dem AOL9.0 Adressbuch zu extrahieren und gescheit verfügbar zu machen. (wer das haben will: kontaktiert mich!)
jetzt möchte ich aber ein programm schreiben, mit dem ich die kontakte in outlook einfügen kann; und das am besten ohne ein outlook-addin zu schreiben. und wenns nur damit geht wie kann ich sowas dann in outlook sichtbar machen? ich möchte später
auch mit dem programm arbeiten und dabei die kontakte aus outlook verwenden.
ich meine skype z.B. kann ja die daten aus outlook lesen und verwenden....
danke für jeden hinweis / post / link..
hallo lilalaunebaer
ich habe ein Programm geschriebe, mit welchem ich über den Exchange server auf die Kontaktdaten in einem öffentlichen Ordner zugreife.
es gibt dafür mehrere Methoden. ich habe mich für ExOledb entschieden. es gibt aber auch WebDav etc.
ich poste mal meinen Code vielleicht kannst du ihn ja benützen
string strSql;
string sURL = "http://Servername/public/TestPublicFolder";
ADODB.Connection oCn = new ADODB.Connection();
ADODB.Recordset oRs = new ADODB.Recordset();
ADODB.Fields oFields;
ADODB.Field oField;
oCn.Provider = "exoledb.datasource";
oCn.Open(sURL, "Administrator", "agbadmin", 0);
strSql = "";
strSql = "select * from scope ('shallow traversal of " + "\"";
strSql = strSql + sURL + "\"') WHERE \"DAV:ishidden\" = false AND \"DAV:isfolder\" = false";
strSql = strSql + " ORDER BY \"urn:schemas:contacts:sn\" ";
oRs.Open(strSql, oCn,
ADODB.CursorTypeEnum.adOpenStatic,
ADODB.LockTypeEnum.adLockOptimistic, 1);
Damit solltest du zumindest auf die Daten zugreifen können
Siehe auch den Eintrag Multiple-step OLE DB operation generated errors
Um sein eigenes Adressbuch auszulesen ist es per Microsoft.Office.Interop.Outlook möglich:
Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
Outlook.MAPIFolder contacts = (Outlook.MAPIFolder)oApp.ActiveExplorer().Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);
one.Text = foundContact.FirstName;
two.Text = foundContact.LastName;
three.Text = foundContact.Email1Address;
Simpel wie einfach 🙂
Gruß,
TriB