GetMessageFromMsgFile和附件枚举的兑换问题

问题描述 投票:0回答:1

我在遍历RDOMail对象的附件集合时遇到问题。如果我使用GetMessageFromMsgFile打开一个外部MSG文件,并尝试第二次遍历附件,则会收到E_ACCESSDENIED异常。我尝试使用For Each,GetEnumerator和Item属性访问附件。在所有这些情况下,我第一次访问附件都可以,但是随后的任何尝试都将失败,并显示“访问被拒绝”错误。

**************例外文字**************System.UnauthorizedAccessException:访问被拒绝。 (HRESULT的异常:0x80070005(E_ACCESSDENIED))在System.Runtime.InteropServices.CustomMarshalers.EnumeratorViewOfEnumVariant.MoveNext()处的System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode,IntPtr errorInfo)

我在同一封邮件上尝试过相同的代码,但直接从收件箱中打开,它可以按预期工作,因此我可以多次迭代附件。

该问题似乎与VB.NET程序集有关,因为例如,如果我在Excel中的VBA中使用相同的代码,则可以多次迭代外部MSG文件的附件。

问题是,我需要处理文件系统上的许多外部MSG文件,并能够从VB.NET程序集中多次查询附件。

购买前,我正在评估兑换。

我在遍历RDOMail对象的Attachments集合时遇到问题。如果我使用GetMessageFromMsgFile打开一个外部MSG文件,并尝试对附件进行第二次迭代,则需要第二个...

vb.net outlook outlook-redemption
1个回答
0
投票

是,在释放相应对象的第一个实例之前,在MSG文件顶部创建的消息将不允许您再次访问附件或附件表对象。

© www.soinside.com 2019 - 2024. All rights reserved.