2014-03-07 2 views
0

У меня есть этот код, который работает с входящими сообщениями. Затем он удаляет вложение, а затем отправляет электронное письмо на другой адрес. Это прерывается чтением квитанций, потому что я предполагаю, что они не считаются MailItem.Outlook VBA, поврежденный считываемыми квитанциями

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 = "[email protected]" 
    objForwardedItem.Send 
Next 
End Sub 

ответ

1

Вам необходимо обработать новый элемент как общий объект и проверить свойство класса. Смотри ниже.

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 = "[email protected]" 
     objForwardedItem.Send 
    End If 
Next 
End Sub 
+0

Я думал, что это сработает, но по какой-то причине оно продолжает останавливаться с ошибкой. Он выделяет «Далее» в конце кода и говорит «Далее без For». Есть идеи? – user3229528

+0

Каков твой последний код? –

+0

Я просто использовал код, который вы отправили в качестве ответа здесь. Когда я увидел, что это испортилось, я просто временно вернул код в свой вопрос, но он все еще ломается, чтобы читать квитанции. – user3229528