Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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?

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?

    

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

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

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.

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?

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.

  • 2 Monate später...

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.