搜索outlook文件夹BY附件文件名

时间:2015-08-31 16:53:41

标签: excel vba outlook

我目前正在使用Outlook 2010,我现在可以使用“更多”按钮并添加附件手动搜索Outlook中的文件夹:是和附件包含:我输入文件名以查找电子邮件并获取时间戳从发送时开始。我有成千上万的附件,我需要这样做,我想自动化这个过程,但我是一个outlook vba noobie,我不知道通过附件名称执行搜索的命令,我试过谷歌搜索但是没有非常感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用限制https://msdn.microsoft.com/en-us/library/office/ff869597.aspx

此处示例:http://www.jpsoftwaretech.com/save-all-attachments-from-selected-folder/

Set newItems = itms.Restrict("[Attachment] > 0")

结合:

attName = MsgAttach.Item(attachmentNumber)

If InStr(attName, "search string here") Then
    Debug.Print "- " & attName
End If

答案 1 :(得分:0)

Outlook对象模型不允许您搜索具有特定附件文件名的项目。您可以显式循环遍历文件夹中的所有项目并检查附件文件名,但这样效率非常低。

在扩展MAPI级别(C ++或Delphi)上,您可以在附件上创建子限制。如果使用Redemption是一个选项,则允许在RDOItems中指定附件。查找/限制:

set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set vFolder = Session.GetFolderFromID(Application.ActiveExplorer.CurrentFolder.EntryID)
set vItems = vFolder.Items
set vMsg = vItems.Find("Attachments LIKE '%.zip%' ")
while not (vMsg Is Nothing)
  MsgBox vMsg.Subject
  set vMsg = vItems.FindNext
wend