Je suis curieux de savoir si c'est possible avec .NET. J'ai écrit une petite application GUI Windows C# et je me demandais s'il y avait un moyen de "puiser" dans Microsoft Outlook 2010 et vérifier si elle a de nouveaux emails (non ouverts) présents? Normalement, cette condition sera indiquée par la présence d'une icône d'enveloppe sur le plateau du système:Y at-il un moyen de savoir si Outlook 2010 a un nouvel email avec C#
Répondre
Hope this helps ...
Voici demostrates comment retreive données à partir des éléments dans un dossier Outlook (appelé « MySubFolderName » dans le dossier Boîte de réception) en utilisant .NET:
d'abord ajouter une référence à l'objet COM Perspectives de votre projet:
en VS.NET clic droit sur une référence d choisissez Ajouter une référence. Sélectionnez l'onglet COM Choisissez "Bibliothèque d'objets Microsoft Outlook 11.0" (MS Office 2003 - je pense que 10.0 correspond à Office XP) et cliquez sur Sélectionner. Cliquez sur OK. Notez que vous pouvez accéder à tous les types d'objets Outlook/Exchange, par exemple Rendez-vous, Notes, Tâches, Emails, etc - utilisez simplement intellisense pour sélectionner lequel (par exemple Microsoft.Office.Interop.Outlook ... - voir la définition de la variable appelée ' item 'ci-dessous).
Voici le code:
Microsoft.Office.Interop.Outlook.Application app = null;
Microsoft.Office.Interop.Outlook._NameSpace ns = null;
Microsoft.Office.Interop.Outlook.PostItem item = null;
Microsoft.Office.Interop.Outlook.MAPIFolder inboxFolder = null;
Microsoft.Office.Interop.Outlook.MAPIFolder subFolder = null;
try
{
app = new Microsoft.Office.Interop.Outlook.Application();
ns = app.GetNamespace("MAPI");
ns.Logon(null,null,false, false);
inboxFolder = ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
subFolder = inboxFolder.Folders["MySubFolderName"]; //folder.Folders[1]; also works
Console.WriteLine("Folder Name: {0}, EntryId: {1}", subFolder.Name, subFolder.EntryID);
Console.WriteLine("Num Items: {0}", subFolder.Items.Count.ToString());
for(int i=1;i<=subFolder.Items.Count;i++)
{
item = (Microsoft.Office.Interop.Outlook.PostItem)subFolder.Items[i];
Console.WriteLine("Item: {0}", i.ToString());
Console.WriteLine("Subject: {0}", item.Subject);
Console.WriteLine("Sent: {0} {1}" item.SentOn.ToLongDateString(), item.SentOn.ToLongTimeString());
Console.WriteLine("Categories: {0}", item.Categories);
Console.WriteLine("Body: {0}", item.Body);
Console.WriteLine("HTMLBody: {0}", item.HTMLBody);
}
}
catch (System.Runtime.InteropServices.COMException ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
ns = null;
app = null;
inboxFolder = null;
}
Source @http://geekswithblogs.net/TimH/archive/2006/05/26/79720.aspx.
vérifier aussi:
http://msdn.microsoft.com/en-us/library/bb610835(v=office.14).aspx
- 1. Y a-t-il un moyen de savoir si un email a été ouvert?
- 2. Y at-il un moyen de savoir si un objet a implémenté ToString explicitement dans C#
- 3. Y at-il un moyen de savoir si une variable a été déclarée en C?
- 4. Je vérifie si un nouvel email a une pièce jointe
- 5. Y at-il un moyen de savoir si un assembly C# a été compilé avec le paramètre d'optimisation?
- 6. Y a-t-il un moyen de savoir dans VB.NET si un gestionnaire a été enregistré pour un événement?
- 7. Y at-il un moyen de savoir si un nouveau site a été créé dans foursquare?
- 8. Y at-il un moyen facile de savoir si un utilisateur a google 1+ une URL
- 9. Y a-t-il un moyen dans C# de savoir quand l'utilisateur a fini d'éditer un fichier avec une application?
- 10. Y at-il un moyen de savoir si TAdoQuery dans l'état Modifier a été modifié?
- 11. Y at-il un moyen de savoir si l'octet [] a été compressé par gzipstream?
- 12. Y at-il un moyen de savoir si x-sendfile a démarré?
- 13. Comment un add-in Outlook peut-il détecter si un email a été envoyé par le même add-in?
- 14. Y a-t-il un moyen de savoir si l'iPhone/iPad a été défini un code d'accès par l'utilisateur?
- 15. Gmail - Un moyen pour nous de savoir si un e-mail nous a été renvoyé?
- 16. Un moyen de savoir si un DuplexClientBase est occupé?
- 17. Existe-t-il un moyen de savoir si un contrôle a été appuyé sur l'événement PageLoad?
- 18. C# 2.0 - Y a-t-il un moyen de faire un `GroupBy` avec un bloc d'itération?
- 19. outlook 2010 y compris weblink image inline
- 20. Existe-t-il un moyen de savoir si un sous-programme a un journal d'exécution (n)?
- 21. Si j'ai une URL, est-ce qu'il y a un moyen de savoir combien de votes reddit il a?
- 22. Y at-il un moyen de savoir si un UIViewController a été présenté et rejeté de façon modale?
- 23. Déterminer si un carnet d'adresses existe dans Outlook 2010
- 24. AS3: Y a-t-il un moyen de savoir si la connexion a été perdue pendant FileReference.upload()?
- 25. Y a-t-il un moyen de savoir qui détient une référence à un objet?
- 26. Y at-il un moyen de savoir si un périphérique est connecté à com1 (RS-232)?
- 27. Y at-il un moyen dans Windows de savoir si un processus ne répond pas?
- 28. Comment envoyer un courrier électronique à Outlook 2010 en C#?
- 29. Éléments multicouches dans HTML Email pour Outlook 2007 et 2010
- 30. Intégration d'un Winform C# avec Outlook 2010?
Voulez-vous interroger Outlook, ou souhaitez-vous recevoir une notification d'événement? –
Sondage ou "interrogatoire" serait mieux. Mais, encore, quelles options ai-je? – ahmd0
Ceci est probablement très proche de ce que vous voulez: http://stackoverflow.com/questions/2055811/get-unread-mails-from-outlook –