Laden...

Zugriff auf Ordnerstruktur

Erstellt von Mr.Irish.Bastard vor 14 Jahren Letzter Beitrag vor 14 Jahren 3.545 Views
M
Mr.Irish.Bastard Themenstarter:in
4 Beiträge seit 2009
vor 14 Jahren
Zugriff auf Ordnerstruktur

Hi @ all,

das hier ist gleichzeitig neben einer Frage an euch auch ein Gruß 😃 und mein erster Beitrag im Forum 😃

Ich habe folgendes Problem. Und zwar nehme ich einen automatisierten Abgleich der Outlook-Kontaktdaten vor. Bisher werden nur die Kontakte, die im lokalen Adressbuch liegen, abgeglichen.
Allerdings wird vermehrt nun auch die Öffentlichen Ordner benutzt. Hierbei liegt in einer bestimmten Ordnerstruktur ein weiteres ADressbuch, dass ich ebenfalls gerne abgleichen möchte.
Öffentliche Order\Alle Öffentlichen Ordner\Kontakte\
Das Adressbuch selber heißt Alle Kontakte.

Wie kann ich jetzt mittels Quellcode zu diesem ADressbuch hin navigieren und dieses verwenden?!
Bereits viel gegoogelt und auch in diesem Forum dazu etwas gefunden, aber bisherige Versuche waren fruchtlos 😦

Habt ihr mir Tipps?!

http://support.microsoft.com/kb/310244/de versucht, aber nicht wirklich geklappt...

Grüße

M
Mr.Irish.Bastard Themenstarter:in
4 Beiträge seit 2009
vor 14 Jahren

Das ist aus einem Nachbarthread:

Outlook API Contact move to public folder error

Er hatte ein ähnliches Problem, ist aber anscheinend auch nicht weiter gekommen, bzw. hat, sofern es geklappt hat, keine Lösung gepostet...

Habe ich eine Möglichkeit, über AddressLists auf das Globale Adress Buch zuzugreifen?!

Vllt. in etwa dieser Richtugn?!

            AddressLists adList = mapiNamespace.AddressLists;
            AddressList AdressGeblubber = adList["Global Address List"];
            Console.WriteLine(AdressGeblubber.Name);

?!

M
Mr.Irish.Bastard Themenstarter:in
4 Beiträge seit 2009
vor 14 Jahren

Habe in der Zwischenzeit versucht, selber eine Lösung zu finden. Allerdings nicht den Durchbruch geschafft. Bin dann auf die Seite von Msdn gekommen (http://support.microsoft.com/kb/310244/de) und habe da was tolles gefunden

 
            Outlook._Application olApp = new Outlook.ApplicationClass();
            Outlook._NameSpace olNS = olApp.GetNamespace("MAPI");
            Outlook.MAPIFolder oFolder = olNS.GetDefaultFolder(Outlook.OlDefaultFolders.olPublicFoldersAllPublicFolders);
            Console.Write(oFolder.Name);
            Console.ReadKey();


            Outlook._Folders oFolders = olNS.Folders;
            Outlook.MAPIFolder oPublicFolder = oFolders.[B]Item[/B]("Öffentliche Ordner");
            oFolders = oPublicFolder.Folders;
            Outlook.MAPIFolder oAllPFolder = oFolders.[B]Item[/B]("Alle Öffentlichen Ordner");
            oFolders = oAllPFolder.Folders;
            Outlook.MAPIFolder oMyFolder = oFolders.[B]Item[/B]("Kontakte");
            Console.Write(oMyFolder.Name); 

zu früh gefreut, funktioniert leider noch nicht ganz. Die dick markierten Stellen markiert er und sagt mir keine Definition gibt und ob eventuell eine Using-Direktive oder ein Assemblyverweis fehlt?!

Eingebunden habe ich noch folgendes inklusive Outlook Library.


using Microsoft.Office.Interop.Outlook;
using Outlook = Microsoft.Office.Interop.Outlook; 

Was fehlt, bzw. mache ich falsch?!

Für Hilfe wäre ich sehr dankbar

Grüße

3.728 Beiträge seit 2005
vor 14 Jahren
Redemption

Hallo Mr.Irish.Bastard,

das Outlook-Objektmodell hat einige Beschränkungen und ist in verbindung mit öffentlichen Ordnern nicht unbedingt das stabilste. Ich möchte Dir deshalb empfehlen, sowas mit Redemption (http://www.dimastr.com/redemption/) zu programmieren. Die Dokumentation dazu findest Du hier: http://www.dimastr.com/redemption/

Redemption funktioniert unabhängig von Outllook und kapselt direkt die MAPI von Windows (MAPI ist auch die Basis von Outlook). Outlook-Objekte können sogar in Redemption-Objekte gecastet werden. Mit Redemption hast Du den Exchange Server im Griff.

Öffentliche Ordner werden in der nächsten Exchange Server Version (also die nach 2007) ohne direkten Ersatz wegfallen. Deshalb würde ich mir überlegen, ob es sinnvoll ist, neue Projekte noch darauf aufzubauen. Die Nachfolgetechnologie für zentrale Informationsablage heißt SharePoint. Größere Sachen würde ich definitiv nicht mehr auf öffentlichen Ordnern aufbauen.