Я пишу макрос, который должен удалить вложения. Из моих сеансов отладки кажется, что это должно работать. Точка останова срабатывает, и она распознает объект сообщения:
Я знаю, это звучит немного глупо, но, как ни странно, это работает, если я устанавливаю точку останова и открываю выражение/часы, но не иначе.
Я боролся с этим в течение довольно долгого времени; Буду признателен за любые рекомендации.
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim header As String
Dim objNewMail As Outlook.MailItem
Dim Item As Object
Dim count As Integer
Dim objInbox As Outlook.Folder
Set objInbox = Outlook.Session.GetDefaultFolder(olFolderInbox)
Dim entryIDs
entryIDs = Split(EntryIDCollection, ",")
Dim i As Integer
For i = 0 To UBound(entryIDs)
Set objNewMail = Application.Session.GetItemFromID(entryIDs(i))
If objNewMail.Attachments.count > 0 Then
header = GetHeader(objNewMail)
If DoesIPMatch(header) <> True Then
DeleteMessage (objNewMail)
ElseIf IsAttachmentPDF(objNewMail) <> True Then
For count = 1 To objNewMail.Attachments.count
objNewMail.Attachments.Remove (count)
Next
End If
End If
Next
End Sub
Save
исправил. Я смотрю на ваш снимок экрана и вижу, что у элемента примера есть только 1 вложение, поэтому в этом случае сортировка не повлияет, только если есть 2 или более вложений. 06.01.2017