如何在MS Access中将邮件从一个链接的Exchange邮箱移动到另一个

How to move mails from one linked Exchange mailbox to another in MS Access

提问人: 提问时间:9/19/2008 最后编辑:user3333333 更新时间:3/24/2023 访问量:1183

问:

我有一个 Exchange 邮箱在 MS Access 应用程序中作为表格链接。这主要用于阅读,但我也希望能够将邮件“移动”到另一个文件夹。

不幸的是,这并不像在第二个链接邮箱中写入那么简单,因为显然我无法编辑某些字段。一些关键字段(如 To: 字段)不可用,因为我收到以下错误

“字段'To'基于表达式,无法编辑”。

在这里使用 CreateObject(“Outlook.Application”) 不是一个选项,因为据我所知,当从 Access 调用时,它会给出一个安全对话框。

有什么解决方案吗?

MS-Access VBA 交换服务器

评论


答:

1赞 Fionnuala 9/19/2008 #1

这是两个问题吗?可以使用 Move 方法移动邮件。下面是一个片段:

 Set oApp = CreateObject("Outlook.Application")

Set oNS = oApp.GetNamespace("MAPI")

Set oMailItems = oNS.GetDefaultFolder(olFolderInbox)
Set itm = oMailItems.Items(6)
itm.Move oNS.GetDefaultFolder(olFolderDeletedItems)

但是,收件人 (收件人) 是只读的,我相信,即使使用 Outlook Redemtion。

0赞 Tomalak 10/7/2008 #2

我不认为 Access 是这项工作的正确工具。您将无法使用 Outlook.Application 对象或 MAPI 包装(如 CDO)。CDO 将是一种更优雅、更高性能的方式,但它必须通过 Office 安装程序显式安装在客户端上。

如果要避免脚本安全对话框(以及一般情况下的一些 CDO 功能不端),则应尝试使用 Outlook Redemption

Redemption 是 CDO 的直接替代品,当您之前进行任何 CDO/Outlook VBA 编码时,您会立即熟悉它。

0赞 alvin parker 3/24/2023 #3

要在MS Access中将电子邮件从一个链接的Exchange邮箱移动到另一个邮箱,请首先创建一个新表来存储电子邮件数据。然后,使用 Outlook 对象模型从源邮箱中检索电子邮件,并将其插入到新表中。最后,再次使用 Outlook 对象模型将电子邮件发送到目标邮箱。

例如,如果需要移动一系列电子邮件,其中包含有关如何执行 pdf 幻灯片免费下载的信息,则可以从源邮箱中检索它们,将它们保存到新表中,然后将它们发送到目标邮箱以供进一步查看和共享。