Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Zugriff auf Ordnerstruktur
Mr.Irish.Bastard
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

Zugriff auf Ordnerstruktur

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Mr.Irish.Bastard
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

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);

?!
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Mr.Irish.Bastard am .
private Nachricht | Beiträge des Benutzers
Mr.Irish.Bastard
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

--------------------------------------------------------------------------------

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Mr.Irish.Bastard am .
private Nachricht | Beiträge des Benutzers
Rainbird
myCSharp.de - Experte

Avatar #avatar-2834.jpg


Dabei seit:
Beiträge: 3953
Herkunft: Mauer

Redemption

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers