error-fi Geschrieben 31. März 2009 Geschrieben 31. März 2009 Ich suche eine Möglichkeit mein eigenes Profil in Outlook auszulesen (Telefonnummer, Firma, Büro...). Ich habe schon den Weg über das AddressEntry gefunden, aber da bekomm ich nur meinen Namen. Über Contacts muss es wohl gehen, aber ich verstehe die Lösungen aus dem Internet noch nicht. Wer hat sowas schonmal gemacht? Zitieren
error-fi Geschrieben 31. März 2009 Autor Geschrieben 31. März 2009 sorry ich kann kein edit klicken, kA warum da passiert nix Microsoft.Office.Interop.Outlook._Application outlook = new Microsoft.Office.Interop.Outlook.ApplicationClass(); Microsoft.Office.Interop.Outlook.NameSpace ns = outlook.GetNamespace("MAPI"); Microsoft.Office.Interop.Outlook.MAPIFolder cf = ns.GetDefaultFolder (Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts); Microsoft.Office.Interop.Outlook.Items ctcItems = cf.Items; Microsoft.Office.Interop.Outlook.ContactItem ctc; for (int j = 1; j < (ctcItems.Count + 1); j++) { ctc = (Microsoft.Office.Interop.Outlook.ContactItem)ctcItems[j]; MessageBox.Show(ctc.FullName.ToString()); } so weit kam ich nun. jetzt hab ich aber die "Kontakte". Will aber "Globale Adressliste" aufrufen, was muss ich neu setzen dafür? Und so kann ich auch nur alle Kontakte durchlaufen, bis ich mich erreiche, ich brauch aber nur meins allein, geht das irgendwie per ID? Zitieren
error-fi Geschrieben 1. April 2009 Autor Geschrieben 1. April 2009 Microsoft.Office.Interop.Outlook._Application outlookObj = new Microsoft.Office.Interop.Outlook.Application(); Microsoft.Office.Interop.Outlook.MAPIFolder fldContacts = (Microsoft.Office.Interop.Outlook.MAPIFolder)outlookObj.Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts); Microsoft.Office.Interop.Outlook.Items searchFolder = fldContacts.Items; Microsoft.Office.Interop.Outlook.ContactItem contactItem = (Microsoft.Office.Interop.Outlook.ContactItem)searchFolder.GetFirst(); while (contactItem != null) { contactItem = (Microsoft.Office.Interop.Outlook.ContactItem)searchFolder.GetNext(); MessageBox.Show(contactItem.FirstName); } So, das funktioniert soweit, das ich aus meinen lokalen Kontakten laden kann, aber nicht aus dem Globaln Adressbuch. Und ein direkter Anspruch fehlt... Wer kann helfen Zitieren
HJST1979 Geschrieben 1. April 2009 Geschrieben 1. April 2009 Ich habe leider auch keine richtige Erfahrung, damit und kann es nicht testen, da ich keinen Exchange zu Hause habe. Aber ich weiß in welcher Zeile das Problem liegt. Microsoft.Office.Interop.Outlook.MAPIFolder cf = ns.GetDefaultFolder (Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts); Hiermit greifst du auf den Default- Kontakt- Ordner zu und das ist meißt der Lokale. Vielleicht hilft dir auch diese Seite OutlookCode.com - Developer Learning Center for Microsoft Outlook weiter. mfg Hans-Jörg Zitieren
error-fi Geschrieben 2. April 2009 Autor Geschrieben 2. April 2009 Microsoft.Office.Interop.Outlook.MAPIFolder cf = ns.GetDefaultFolder (Microsoft.Office.Interop.Outlook.OlDefaultFolders .olFolderContacts); ja genau, der greifft auf die kontakte lokal zu, da klappts ja auch. nur kann ich unter DefaultFolders nur "Posteingang", "Aufgaben", "Notizen" etc auswählen. Jetzt die Frage, ob man FolderContacts auch von "Kontakte" auf "Globale Adressliste" umstellen kann. Hab ich noch nicht gefunden, falls es überhaupt gehen soll Werd mir gleich mal die Seite anschauen. Zitieren
error-fi Geschrieben 2. April 2009 Autor Geschrieben 2. April 2009 edit geht immer noch nicht?!? hab mal bissle rumgeschaut und auch bissle was gefunden. ich bräuchte nicht die AdressEntries sondern die Items aus dem Folder. Dann kann ich daraus ein ContacItem lesen, das die Felder kennt. Komisch finde ich nur, das ich zum Thema AdressEntries nur VB.Net Code finde und da AdressEntry ein das Feld AdressEntry.Field hat. Da kann man dann schrebien AdressEntry.Field("PR_HOME_TELEPHONE_NUMBER") und dann hat man die Nummer vom Entry. C# Kennt AdressEntry.Field nicht. Wieso das denn? Zitieren
HJST1979 Geschrieben 2. April 2009 Geschrieben 2. April 2009 Hallo ich weiß jetzt nicht ob das geht, sollte aber funktionieren. Binde einfach den Verweis Microsoft.VisualBasic ein. mfg Hans-Jörg Zitieren
error-fi Geschrieben 3. April 2009 Autor Geschrieben 3. April 2009 Also ich glaube es geht nicht. Aber ich habe es trotzdem mal ausprobiert zumindest gehts nicht, was meinen Versuch anbelangt. Microsoft.Office.Interop.Outlook.AddressEntry hat im C# kein Fields als Attribut, aber in VB scheinbar schon. Zitieren
Bot.Rubiks Geschrieben 9. Juni 2009 Geschrieben 9. Juni 2009 Hat jemand von euch jetzt das Problem lösen können mit dem Zugriff auf das Globale Adressbuch?! Suche mir gerade einen Wolf, um auf das Adressbuch in der Ordnerstruktur \\Öffentliche Ordner\alle Öffentlichen Ordner\Kontakte\Globales Adressbuch zuzugreifen. Um Hilfe und Tipps wäre ich sehr dankbar Grüße Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.