gpt4 book ai didi

vba - 使用 EntryID 引用时的 MailItem.SaveAs

转载 作者:行者123 更新时间:2023-12-01 17:47:03 28 4
gpt4 key购买 nike

我正在开发将 Outlook 中的 MailItem(我知道它是 MailItem 而不是任何其他类型)拖放到 Access 备忘录字段中的功能。尝试对 MailItem 对象调用 SaveAs。

我明白了

Error 287 - Application-defined or object-defined error.

我尝试过使用命名空间、不使用命名空间、使用 .Item 等

这是我当前的代码:

Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")

Dim olNs As Outlook.NameSpace
Set olNs = olApp.GetNamespace("MAPI")

Dim olMail As Outlook.MailItem
Set olMail = olNs.GetItemFromID(olNs.Application.ActiveExplorer.Selection(1).EntryID)

olMail.SaveAs strPathAndFile, Outlook.OlSaveAsType.olMSG

Access 2010、Outlook 2010 均为 32 位。 Win 7机器是64位的。

在全 32 位机器上尝试过,同样的错误。

尝试了下面的 Dmitry 代码,同样的错误。

最佳答案

终于使用 Dmitry Streblechenko 的出色工具 Redemption 完成了这项工作。图书馆。谢谢!

Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")

Dim olNs As Outlook.NameSpace
Set olNs = olApp.GetNamespace("MAPI")

Dim oRDOSession As Redemption.RDOSession
Set oRDOSession = CreateObject("Redemption.RDOSession")
oRDOSession.MAPIOBJECT = olNs.Application.Session.MAPIOBJECT

If Not oRDOSession.LoggedOn Then oRDOSession.Logon

Dim oMsgItem As Redemption.RDOMail
Set oMsgItem = oRDOSession.GetMessageFromID(olNs.Application.ActiveExplorer.Selection(1).EntryID)

strPathAndFile = "some\path\" & UniqueValueStr(Now()) & ".msg"

oMsgItem.SaveAs strPathAndFile

关于vba - 使用 EntryID 引用时的 MailItem.SaveAs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29148947/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com