VBA为什么if函数不按特定短语过滤我的数据

问题描述 投票:0回答:2

我的代码有问题。我想显示一个特定的电子邮件,并在excel文件中保存email.bodys过滤特定短语(包含在邮件正文中)。 if函数在以下代码中不起作用。它正在从我的盒子下载所有电子邮件。

你能指出我的错吗?

Dim o As Outlook.Application
Set o = New Outlook.Application

Dim ons As Outlook.Folder
Set ons = o.GetNamespace("mapi")

Dim myfol As Outlook.Folder
Set myfol = ons.getdefaulfolder(olFolderDrafts)

Dim omail As Outlook.MailItem
Set omail = o.CreateItem(oimailItem)

Dim r As Long
r = 2
For Each omail In myflo.Items

    If omail.Body = "specific text" Then
        omail.Display
        Cells(r, 1).Value = omail.Body
        r = r + 1
    End If
Next omail    
excel vba outlook outlook-vba
2个回答
1
投票

您可以使用InStr函数来检查电子邮件正文是否包含特定文本...

If InStr(1, omail.Body, "specific text", vbTextCompare) > 0 Then

对于区分大小写的搜索,请将vbTextCompare替换为vbBinaryCompare。


-1
投票

根据你问的报价,“从我的盒子里完成电子邮件”(收件箱?)当引用'olFolderDrafts'时“你需要添加你想要下载的邮件的ID。

© www.soinside.com 2019 - 2024. All rights reserved.