Excel 从电子邮件中检索特定文本
我希望阅读Outlook收件箱中所有今天收到的主题为“取消提醒”的电子邮件 在这些电子邮件的正文中有两行6列的数据。相当简单的电子邮件正文如下所示Excel 从电子邮件中检索特定文本,excel,vba,outlook,Excel,Vba,Outlook,我希望阅读Outlook收件箱中所有今天收到的主题为“取消提醒”的电子邮件 在这些电子邮件的正文中有两行6列的数据。相当简单的电子邮件正文如下所示 Record ID Date Name Date 2 Status Note R-99864 06-20-2019 Fonsi 06-19-2019 Canceled Record was out of date range 我想提取记录ID并将其放入excel工作表中 我可以通过
Record ID Date Name Date 2 Status Note
R-99864 06-20-2019 Fonsi 06-19-2019 Canceled Record was out of date range
我想提取记录ID并将其放入excel工作表中
我可以通过搜索电子邮件主题来识别我的电子邮件。但是,我不知道如何提取记录ID
您能告诉我如何使用Excel VBA提取我的记录ID吗
下面是我根据电子邮件主题确定电子邮件的代码
Dim myOlApp As New Outlook.Application
Dim myNameSpace As Outlook.Namespace
Dim myInbox As Outlook.MAPIFolder
Dim myitems As Outlook.Items
Dim myitem As Object
Dim Found As Boolean
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myitems = myInbox.Items
Found = False
For Each myitem In myitems
If myitem.Class = olMail Then
If InStr(1, myitem.Subject, "Cancel Alert") > 0 Then
Debug.Print "Found"
MsgBox (myitem.Subject)
Found = True
End If
End If
Next myitem
'If the subject isn't found:
If Not Found Then
NoResults.Show
End If
'myOlApp.Quit
Set myOlApp = Nothing
End Sub
纯文本邮件还是?如何确定它是纯文本邮件?打开它,单击“编辑邮件”按钮,然后转到“格式文本”选项卡,查看突出显示的选项(HTML、纯文本或富文本)。我单击“回复”打开电子邮件,因为没有“编辑邮件”按钮。在我的回复中,“Aa HTML”已经突出显示,所以我猜文本是HTML格式的。您应该能够使用
InStr(1.htmlbody,“Record ID”)
;有了这些知识,你可以Split(),然后将拆分部分从指令中记录的字符开始粘贴。纯文本邮件还是?如何确定它是纯文本邮件?打开它,单击“编辑邮件”按钮,然后转到“格式文本”选项卡,查看我单击“回复”时突出显示的选项(HTML、纯文本还是富文本)打开电子邮件,因为没有“编辑邮件”按钮。在我的回复中,“Aa HTML”已经突出显示,所以我猜文本是HTML格式的。您应该能够使用InStr(1.htmlbody,“Record ID”)
;有了这些知识,你可以Split()
根据换行符(我认为这是Chr(58)
…这是一个很大的假设,你在数据前后都有换行符),然后从InStr
中记录的字符开始进行拆分并粘贴。