2010-07-21 7 views
0

Je voudrais itérer Outlook Inbox et je suis avec Ruby.Comment faire pour itérer la boîte de réception Outlook par date? - Outlook OLE Automation

J'ai trouvé des informations utiles here, mais l'ordre des messages dans la boîte de réception n'est pas trié par RecevedTime (propriété de l'objet Item OLE). La méthode GetLast peut trouver le dernier message mais la méthode GetPrevious ne fonctionne pas comme prévu.

require 'win32ole' 

outlook = WIN32OLE.new('Outlook.Application') 
mapi = outlook.GetNameSpace('MAPI') 
inbox = mapi.GetDefaultFolder(6) 

inbox.Items.GetLast # return the latest message, maybe 
inbox.Items.GetPrevious # return nil object and then, what's this method for? 
inbox.Items.Sort('ReceivedTime') # is this right usage? if so, what's next? 

Comment puis-je itérer des messages dans la boîte de réception du dernier au plus ancien?

Répondre

0
require 'win32ole' 

ol = WIN32OLE.new('Outlook.Application') 
class OC; end 
WIN32OLE.const_load(ol, OC) 

mapi = ol.GetNameSpace("MAPI") 
inbox = mapi.GetDefaultFolder(OC::OlFolderInbox) 
items = inbox.items 
items.sort('ReceivedTime', OC::OlAscending) 

items.getfirst 
items.getnext 

items.getlast 
items.getprevious 
Questions connexes