我正在编写一些代码,以提取有关PST文件内容的信息,如邮件总数,子文件夹列表,每个文件夹的邮件数量,电子邮件主题名称和每封邮件的发送/接收日期。
这是一项正在进行的工作,我必须在进行的过程中熟悉Ruby/Outlook/MAPI。
我正在使用下面的代码片段在windows中工作,以了解如何访问PST内容:
#Create outlook instance
outlook = WIN32OLE.new('Outlook.Application')
#Create mapi control
mapi = outlook.GetNameSpace('MAPI')
outlook.Session.AddStore('C:/test.pst')
#pst = mapi.Folders.Item('Personal Folders')
#puts pst.Items.count
#mapi.RemoveStore(pst)虽然我可以通过文件名添加pst文件,但为了删除它,我需要知道在outlook中分配给该文件的名称是什么。如果我在outlook中手动操作,这是很好的,但我希望它能自动运行。
有没有一种方法可以在加载后提取pst 'name‘并将其分配给一个变量,以绕过这个问题,或者有没有其他方法可以卸载我不知道的pst文件?
发布于 2012-08-14 03:41:44
尝试使用数组方法
outlook.Session.AddStore('C:/test.pst')
mapi.RemoveStore(mapi.Folders.Item.last)另一个选项是在添加mapi.Folders之前遍历它。然后遍历after,找到映射的新"Item“名称,然后将其删除。
https://stackoverflow.com/questions/10600647
复制相似问题