2009-08-10 13 views
2

J'ai une exigence où je dois obtenir les données d'un dossier appelé "Pulic Floder" qui contient des informations globales comme des salles de livres pour des discussions/réunions etc et ce dossier est dans le serveur et je suis en mesure d'accéder à travers oulook. Quelqu'un peut-il m'aider, comment puis-je accéder au même programme, C#? Merci à l'avance, Ravi Naik.Obtenir des informations sur les perspectives par programme

+0

Peut-être important de savoir si vous utilisez Outlook 2007 ou quelque chose plus. – Ksempac

+0

J'utilise MS Outlook 2003 ... –

Répondre

1

Si vous êtes uniquement sur le client, utilisez COM via Outlook. Ou utilisez WebDav contre Exchange 2003, ou consultez les nouveaux services Web pour Exchange 2007.

Tout dépend où votre code s'exécutera et/ou la version d'Exchange en cours d'exécution avant de décider de la voie à suivre.

Vous devez juste vous assurer que l'application s'exécute en tant qu'utilisateur avec des autorisations pour Exchange.

0

Je sais que vous avez dit C#, mais si vous êtes prêt à expérimenter un peu, voici une solution Perl, je l'ai utilisé avec succès dans le passé:

http://rasterweb.net/raster/code/src/vcalxical_pl.txt

Vous devez IMAP activé sur la Bourse serveur et cela ne fonctionnera qu'avec 2003. Dans Exchange 2007, les informations de calendrier ne sont plus stockées dans des dossiers, cela va donc se casser. Vous avez également dit que vous aviez juste besoin d'obtenir les données, pas de les modifier.

Cette solution fonctionne avec Exchange 2007:

http://blogs.msdn.com/exchangedev/archive/2009/02/05/quick-and-dirty-unix-shell-scripting-with-ews.aspx

0

Dans le passé, nous avons utilisé Outlook Redemption. Il fonctionne à travers MAPI étendu, donc il a plus de fonctionnalités qu'Outlook fournit avec Microsoft.Office.Interop.Outlook

Il existe également un autre outil utile - Outlook Spy qui vous permet de découvrir le modèle d'objet Outlook en cours d'exécution.

0

I modifié le code à boucle à travers des sous-dossiers, désolé pour la réponse tardive

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

class OutlookFolders 
{ 
    static void Main(string[] args) 
    { 
     OutLook.Application outlookObj = new OutLook.Application(); 
     GetSubFolders(outlookObj.Session.Folders); 
    } 
    private static void GetSubFolders(OutLook.Folders folders) 
    { 
     foreach (OutLook.MAPIFolder f in folders) 
     { 
      Console.WriteLine(f.Name); 
      GetSubFolders(f.Folders); 
     } 
    } 
} 
+0

Merci beaucoup pour le code ci-dessus, mais j'ai un dossier appelé "Pulic Folders", que je suis capable d'y accéder, mais comment puis-je obtenir des dossiers internes présents dans "Dossiers publics" "? –

Questions connexes