Excel VBA with Outlook:如何使用AdvancedSearch方法在Outlook中搜索特定电子邮件?
我有一个程序在Outlook的Sent Items文件夹中搜索每个电子邮件,直到它在指定的电子邮件中找到标记(URL),打开它并发送回复 但是我在“已发送邮件”文件夹中有很多电子邮件,所以要花很多时间来搜索每封电子邮件 我读到AdvancedSearch方法是搜索特定电子邮件的一种更快的方法。但我真的不知道它是怎么工作的这就是为什么我需要你们的帮助Excel VBA with Outlook:如何使用AdvancedSearch方法在Outlook中搜索特定电子邮件?,excel,email,outlook,vba,Excel,Email,Outlook,Vba,我有一个程序在Outlook的Sent Items文件夹中搜索每个电子邮件,直到它在指定的电子邮件中找到标记(URL),打开它并发送回复 但是我在“已发送邮件”文件夹中有很多电子邮件,所以要花很多时间来搜索每封电子邮件 我读到AdvancedSearch方法是搜索特定电子邮件的一种更快的方法。但我真的不知道它是怎么工作的这就是为什么我需要你们的帮助 Set olApp = New Outlook.Application Set olNameSpace = olApp.GetNamespace("
Set olApp = New Outlook.Application
Set olNameSpace = olApp.GetNamespace("MAPI")
Set olFolder = olNameSpace.GetDefaultFolder(olFolderSentMail)
For Each olMail In olFolder.Items
tagLink = Sheets("Data").Cells(rowCount, 6)
If InStr(olMail.HTMLBody, tagLink) <> 0 Then
With olMail.Reply
.Display
.To = sMailTo
.CC = sMailCC
.HTMLBody = mailBody & vbLf & .HTMLBody
.Send
End With
End If
Next olMail
如何在此类程序中使用AdvancedSearch方法?
感谢你们的帮助
Set olApp = New Outlook.Application
Set olNameSpace = olApp.GetNamespace("MAPI")
Set olFolder = olNameSpace.GetDefaultFolder(olFolderSentMail)
For Each olMail In olFolder.Items
tagLink = Sheets("Data").Cells(rowCount, 6)
If InStr(olMail.HTMLBody, tagLink) <> 0 Then
With olMail.Reply
.Display
.To = sMailTo
.CC = sMailCC
.HTMLBody = mailBody & vbLf & .HTMLBody
.Send
End With
End If
Next olMail
Set olApp=New Outlook.Application
设置olNameSpace=olApp.GetNamespace(“MAPI”)
设置olFolder=olNameSpace.GetDefaultFolder(olFolderSentMail)
对于olFolder.Items中的每个olMail
tagLink=工作表(“数据”).单元格(行数,6)
如果InStr(olMail.HTMLBody,tagLink)为0,则
用电子邮件回复
陈列
.To=sMailTo
.CC=sMailCC
.HTMLBody=mailBody&vbLf&HTMLBody
邮寄
以
如果结束
下一封邮件
对于olFolder.Items中的每个olMail
不要迭代文件夹中的所有项目。尤其是当你的文件夹中有大量的项目时
相反,您可以考虑使用Type类的Buffor或find /FordNeXT方法。您可以在以下文章中找到对它们的详细描述: