我正在使用VSTO和Outlook 2007,在c#中。我可以执行Outlook.Application.AdvancedSearch(),并获取一个表。我想使用Outlook.Table.Columns.Add()从表中选择要访问的列。我似乎无法找到一个完整的属性名称列表,我可以传递给Add()(我只对邮件项目感兴趣)。我已经猜到了一些明显的(ReceivedTime,SenderEmailAddress,To,Subject,Body,EntryID)。我希望能够获得每个电子邮件的(纯文本)正文,但尝试添加属性Body似乎不起作用。是不可能将Body作为一个列,还是只是用不同的名称?
答案 0 :(得分:0)
页面Unsupported Properties in a Table Object or Table Filter表示Body应该适用于前255个字节。这对我来说不起作用,但即使它确实如此,那也不是我想要的。因此,我获得EntryID
属性,然后使用mapiNameSpace.GetItemFromID(entryId, Type.Missing)
获取MailItem
对象,并从MailItem.Body
获取(整个)纯文本正文。