Office Interop ReportItem的vb.net创建时间不正确

Office Interop ReportItem的vb.net创建时间不正确,vb.net,outlook,office-interop,Vb.net,Outlook,Office Interop,我正在尝试读取报表项的创建时间。但是,使用“.CreationTime”时,返回的是上次修改时间,而不是正确的值。当邮件移动到另一个文件夹时,此移动的时间和日期将作为创建时间返回。有没有人知道为什么会这样,或者是否有一个解决办法来获得创建时间 这是我的一些代码,在本例中,我只打印创建时间 Dim oApp As New Microsoft.Office.Interop.Outlook.Application Dim olNS As Microsoft.Office.Interop.Outlook

我正在尝试读取报表项的创建时间。但是,使用“.CreationTime”时,返回的是上次修改时间,而不是正确的值。当邮件移动到另一个文件夹时,此移动的时间和日期将作为创建时间返回。有没有人知道为什么会这样,或者是否有一个解决办法来获得创建时间

这是我的一些代码,在本例中,我只打印创建时间

Dim oApp As New Microsoft.Office.Interop.Outlook.Application
Dim olNS As Microsoft.Office.Interop.Outlook.Namespace
Dim olTaskFolder As Microsoft.Office.Interop.Outlook.MAPIFolder
Dim olReportItem As Microsoft.Office.Interop.Outlook.ReportItem
Dim olTemp As Object
Dim tableRow As DataRow

olNS = oApp.GetNamespace("MAPI")
olTaskFolder = olNS.Folders(mailBox).Folders(mainFolder)


For Each olTemp In olTaskFolder.Items
 If TypeName(olTemp).EndsWith("ReportItem") Then
  olReportItem=DirectCast(olTemp,Microsoft.Office.Interop.Outlook.ReportItem)
  console.WriteLine("----")
  console.WriteLine(olReportItem.CreationTime.toString)
End If 

下一步

如果项目在文件夹之间移动,则可以修改其
创建时间
上次修改时间
。通常,在同一邮箱中的文件夹之间移动时会保留这些属性,但在邮箱之间移动会重置这些属性

有没有办法让最初的CreationTime恢复?发送电子邮件的正确时间在outlook中仍然可见。是否有方法获取此值?当然,收到的日期将保持不变。据我所知,Reportitem没有收到的日期只是因为Reportitem对象没有将其作为属性公开-您仍然可以在OutlookSpy中看到它(单击IMessage按钮),并通过Reportitem.PropertyAccessor.GetProperty访问它