Outlook VBA被已读回执破坏
我有一个在传入消息上运行的代码。它会删除附件,然后将电子邮件转发到其他地址。它被读过的收据打破了,因为我想它们不算邮件Outlook VBA被已读回执破坏,vba,outlook,Vba,Outlook,我有一个在传入消息上运行的代码。它会删除附件,然后将电子邮件转发到其他地址。它被读过的收据打破了,因为我想它们不算邮件 Private Sub Application_NewMailEx(ByVal EntryIDCollection As String) Dim varEntryID As Variant For Each varEntryID In Split(EntryIDCollection, ",") Dim objOriginalItem As MailItem S
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim varEntryID As Variant
For Each varEntryID In Split(EntryIDCollection, ",")
Dim objOriginalItem As MailItem
Set objOriginalItem = Application.GetNamespace("MAPI").GetItemFromID(varEntryID)
Dim objForwardedItem As MailItem
Set objForwardedItem = objOriginalItem.Forward
Do Until objForwardedItem.Attachments.Count = 0
objForwardedItem.Attachments.Remove (1)
Loop
objForwardedItem.DeleteAfterSubmit = True
objForwardedItem.To = "LoanPostClosing@domain.com"
objForwardedItem.Send
Next
End Sub
您需要将新项视为泛型对象并检查类属性。见下文
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim varEntryID As Variant
For Each varEntryID In Split(EntryIDCollection, ",")
Dim objOriginalItem As Object
Set objOriginalItem = Application.GetNamespace("MAPI").GetItemFromID(varEntryID)
if objOriginalItem.Class = 43 Then
Dim objForwardedItem As MailItem
Set objForwardedItem = objOriginalItem.Forward
Do Until objForwardedItem.Attachments.Count = 0
objForwardedItem.Attachments.Remove (1)
Loop
objForwardedItem.DeleteAfterSubmit = True
objForwardedItem.To = "LoanPostClosing@yourcnb.com"
objForwardedItem.Send
End If
Next
End Sub
我原以为这会起作用,但由于某种原因,它总是因为一个错误而停止。它在代码末尾突出显示下一个,并在没有For的情况下说Next。有什么想法吗?我只是用你提交的代码作为答案。当我看到它是一团糟,我只是暂时恢复到代码在我的问题,但它仍然中断阅读收据。上面的代码编译正好适合我。不过,你的代码是什么?