我正在编写一些代码来提取有关PST文件内容的信息,例如邮件总数,子文件夹列表,每个文件夹的邮件数,电子邮件主题名称和每封邮件的发送/接收日期。
这是一项正在进行的工作,我必须熟悉Ruby/Outlook/MAPI。
我正在使用以下代码片段在窗口中工作,以了解如何访问 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 "名称"并将其分配给变量以解决此问题,或者有没有另一种方法可以卸载我不知道的 pst 文件?
尝试使用数组方法
outlook.Session.AddStore('C:/test.pst')
mapi.RemoveStore(mapi.Folders.Item.last)
另一种选择是遍历 mapi。添加之前的文件夹。然后循环访问 after,找到映射的新"Item"名称,然后将其删除。