Ошибка при отправке нескольких элементов из черновиков с помощью Excel VBA

У меня есть список идентификаторов электронной почты в Excel, и у меня есть несколько сохраненных черновиков.

Я пытаюсь отправить определенные черновики в список идентификаторов электронной почты на основе строки темы черновиков.

В строке .copy и .send появляется ошибка, когда у меня присутствует несколько черновиков, но не когда присутствует только один черновик.

Sub eng()

    Dim lDraftItem, myOutlook, myNameSpace, myFolders, myDraftsFolder

    Set myOutlook = CreateObject("Outlook.Application")
    Set myNameSpace = myOutlook.GetNamespace("MAPI")

    myNameSpace.Logon "Outlook"

    Set myFolders = myNameSpace.Folders
    Set myDraftsFolder = myFolders("[email protected]").Folders("Drafts")

    For lDraftItem = myDraftsFolder.Items.Count To 1 Step -1
        If InStr(myDraftsFolder.Items.item(lDraftItem).subject, "Subjectline") <> 0 Then

            For i = 2 To iTotalRows
                myDraftsFolder.Items.item(lDraftItem).Copy
                myDraftsFolder.Items.item(lDraftItem).SentOnBehalfOfName = "email"
                myDraftsFolder.Items.item(lDraftItem).To = "email"
                myDraftsFolder.Items.item(lDraftItem).Send
            Next

        End If
    Next lDraftItem

    Set myDraftsFolder = Nothing
    Set myNameSpace = Nothing
    Set myOutlook = Nothing

End Sub

person T.K    schedule 05.10.2018    source источник


Ответы (1)


Это многоточечная нотация, доведенная до крайности. Во-вторых, MailItem.Copy возвращает только что созданный (скопированный) элемент. Вы игнорируете возвращаемое значение. Вы имели в виду следующее?

set items = myDraftsFolder.Items
For lDraftItem = items.Count To 1 Step -1
    set item = items.Item(lDraftItem)
    If InStr(item.subject, "Subjectline") <> 0 Then

        For i = 2 To iTotalRows
            set newItem = item.Copy
            newItem.SentOnBehalfOfName = "email"
            newItem.To = "email"
            newItem.Send
        Next

    End If
Next lDraftItem
person Dmitry Streblechenko    schedule 05.10.2018
comment
это сработало !! Я работал вокруг этого автобуса со вчерашнего дня, тише! - person T.K; 05.10.2018
comment
Спасибо за быстрый ответ @dimitry - person T.K; 05.10.2018