3

我正在编写一些代码来提取有关 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“名称”并将其分配给变量以解决此问题,或者是否有另一种方法可以卸载我不知道的 pst 文件?

4

1 回答 1

0

尝试使用数组方法

outlook.Session.AddStore('C:/test.pst')
mapi.RemoveStore(mapi.Folders.Item.last)

另一个选项是在添加之前遍历 mapi.Folders。然后遍历 after 并找到映射的新“Item”名称,然后将其删除。

于 2012-08-13T19:41:44.177 回答