将附件从电子邮件移动到另一个邮箱
Moving an attachment from an email into another mailbox
我正在尝试在 Outlook 中组合一些代码,以从收到的邮件中提取附件并将它们移动到 Outlook 中的另一个文件夹中。
我可以轻松地移动整封邮件,并且我还弄清楚了如何将附件保存到驱动器,但这些都不是我要找的。
我正在看下面的内容,但我猜没有 Attachment.Move 类似于 MailItem.Move。
有人对我如何实现这一目标有任何建议吗?任何帮助将不胜感激。
Sub test1()
Dim olFolder As MAPIFolder
Set olFolder = Application.GetNamespace("MAPI").Folders("Mailbox - Test").Folders("Inbox")
Dim Item As Object
For Each Item In olFolder.Items
Set oMail = Item
For Each att In oMail.Attachments
att.Move Application.GetNamespace("MAPI").Folders("Enterprise Connect").Folders("Test")
Next
Next
End Sub
Attachment
class 没有提供这样的方法。您需要将附件保存到磁盘,然后重新附加到另一个 Outlook 项目。
您可能会发现 Getting Started with VBA in Outlook 2010 文章很有帮助。
附件在文件夹中不作为独立实体存在 - 如果邮件只有一个附件,您会看到什么。该项目的消息 class 是 IPM.Document.* - 当您双击这样的项目时,Outlook 会足够智能地打开附件而不是显示检查器。用 OutlookSpy 看看这样的项目(我是它的作者 - 点击 IMessage 和 Item 按钮)。
Outlook 对象模型不允许直接创建 DocumentItem
对象。但是您可以创建一个常规 MailItem
对象,使用 MailItem.Attachments.Add
添加附件,然后适当地重置 MessageClass
属性 - 例如对于“.txt”附件,查找 HKEY_CLASSES_ROOT\.txt
注册表项,读取默认值,将其附加到消息 class (IPM.Note.txtfile).
如果使用 Redemption (I am also its author) is an option, it exposes the RDODocumentItem 并允许直接创建文档项(参见示例)。
我正在尝试在 Outlook 中组合一些代码,以从收到的邮件中提取附件并将它们移动到 Outlook 中的另一个文件夹中。
我可以轻松地移动整封邮件,并且我还弄清楚了如何将附件保存到驱动器,但这些都不是我要找的。
我正在看下面的内容,但我猜没有 Attachment.Move 类似于 MailItem.Move。
有人对我如何实现这一目标有任何建议吗?任何帮助将不胜感激。
Sub test1()
Dim olFolder As MAPIFolder
Set olFolder = Application.GetNamespace("MAPI").Folders("Mailbox - Test").Folders("Inbox")
Dim Item As Object
For Each Item In olFolder.Items
Set oMail = Item
For Each att In oMail.Attachments
att.Move Application.GetNamespace("MAPI").Folders("Enterprise Connect").Folders("Test")
Next
Next
End Sub
Attachment
class 没有提供这样的方法。您需要将附件保存到磁盘,然后重新附加到另一个 Outlook 项目。
您可能会发现 Getting Started with VBA in Outlook 2010 文章很有帮助。
附件在文件夹中不作为独立实体存在 - 如果邮件只有一个附件,您会看到什么。该项目的消息 class 是 IPM.Document.* - 当您双击这样的项目时,Outlook 会足够智能地打开附件而不是显示检查器。用 OutlookSpy 看看这样的项目(我是它的作者 - 点击 IMessage 和 Item 按钮)。
Outlook 对象模型不允许直接创建 DocumentItem
对象。但是您可以创建一个常规 MailItem
对象,使用 MailItem.Attachments.Add
添加附件,然后适当地重置 MessageClass
属性 - 例如对于“.txt”附件,查找 HKEY_CLASSES_ROOT\.txt
注册表项,读取默认值,将其附加到消息 class (IPM.Note.txtfile).
如果使用 Redemption (I am also its author) is an option, it exposes the RDODocumentItem 并允许直接创建文档项(参见示例)。