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

Posted

技术标签:

【中文标题】如何在 MS Access 中将邮件从一个链接的 Exchange 邮箱移动到另一个邮箱【英文标题】:How to move mails from one linked Exchange mailbox to another in MS Access 【发布时间】:2010-09-11 04:39:57 【问题描述】:

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

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

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

使用 CreateObject("Outlook.Application") 代替这里不是一个选项,因为据我所知,这会在从 Access 调用时提供一个安全对话框。

有什么解决办法吗?*

【问题讨论】:

【参考方案1】:

这是两个问题吗?可以使用 Move 方法移动邮件。这是一个sn-p:

 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)

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

【讨论】:

【参考方案2】:

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

如果您想避免脚本安全对话框(以及一些一般的 CDO 功能),您应该尝试一下Outlook Redemption。

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

【讨论】:

以上是关于如何在 MS Access 中将邮件从一个链接的 Exchange 邮箱移动到另一个邮箱的主要内容,如果未能解决你的问题,请参考以下文章

MS Access |如何从邮件正文到表格获取内容?

从 MS Access 生成带有超链接的电子邮件

如何在 MS Access 的追加查询中将数据类型从文本转换为是/否?

当用户在 MS Access 中修改表中的另一列时,如何在 SQL Server 中将列设置为今天的日期 [关闭]

MS Access / Outlook 2010 - 如何选择从哪个帐户发送电子邮件?

如何从同一数据库的 VBA 代码中的 MS ACCESS 中提取字段