VBA Excel-Outlook-For Each-返回邮件=无-错误mngt
我在Excel上做了一个小宏,目的是在outlook上查找具有特定主题和特定接收时间的邮件。除了我的一个同事oulook收件箱的bug之外,几乎所有人都能很好地使用它 我写的代码是:VBA Excel-Outlook-For Each-返回邮件=无-错误mngt,vba,email,foreach,error-handling,outlook,Vba,Email,Foreach,Error Handling,Outlook,我在Excel上做了一个小宏,目的是在outlook上查找具有特定主题和特定接收时间的邮件。除了我的一个同事oulook收件箱的bug之外,几乎所有人都能很好地使用它 我写的代码是: For Each olMail In oDefaultFolder.Items If olMail.Subject = "DDJ of " & date_target Then MyAr = Split(olMail.Body, vbCrLf) For i = LB
For Each olMail In oDefaultFolder.Items
If olMail.Subject = "DDJ of " & date_target Then
MyAr = Split(olMail.Body, vbCrLf)
For i = LBound(MyAr) To UBound(MyAr)
Sheets("DDJ").Cells(i + 1, 1).Value = MyAr(i)
Next i
ddj_empty = False
Exit For
End If
Next olMail
我尝试了3个outlook帐户,但没有pb,但第4个帐户有漏洞。。我手动删除了一个,但太多了,从约会确认到邮件,这似乎很正常
它返回的pb是它突出显示“下一个oLMail”,并表示oLMail=Nothing
我想让我的宏继续并继续它的搜索,我有一些麻烦来处理这个错误
我在寻找类似于“if mail=nothing then i=i+1..next i”的smtg,但我在google上找到了“continue for”,但我的excel无法识别continue函数?所以我不知道该怎么办
有什么建议吗?
非常感谢Outlook文件夹可以包含的内容。不同的类型并不相同。例如,支持。不要 在使用
olMail
之前,最好使用vba功能检查类型
' Perform action on specific item types only.
' TESTED: Outlook 2010.
Sub CheckItemType()
Dim i As Object ' Used to loop over items.
Dim iType As String ' Used to hold type of above item.
' Loop over all items in the inbox.
For Each i In Outlook.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items
iType = TypeName(i)
' Limit actions to required types.
If iType = "MailItem" Or iType = "MeetingItem" Then
' Your logic.
End If
Next
End Sub
很抱歉我使用Outlook编写了代码。刚刚注意到您的示例取自Excel。TypeName和If语句是您唯一需要的位。只需将这些添加到您现有的代码中。谢谢,我会尝试一下,我会告诉您它是否修复了pb!