Excel VBA: Wysłane wiadomości e-mail w programie Outlook nie zawierają wklejonego zakresu

mampoczątkowo odpowiedział pytanieJak wklejać tylko widoczne komórki w treści wiadomości e-mail

Kod, który przetestowałem i opublikowałem (patrz poniżej), nie obejmował wysyłania wiadomości e-mail. Po OP dodał to do jego pytania, dodałem.Send po części, ale zachowanie, które uzyskałem, jest bardzo dziwne. Jeśli umieściłem punkt przerwania tuż przed wysłaniem i wykonamSub, tworzony jest e-mail z poprawnymi informacjami (w tym wklejony ExcelRange). Następnie kontynuuję wykonywanie i e-mail jest poprawnie wysłany. Ale jeśli poprowadzę całośćSub jednocześnie, bez punktów przerwania, wiadomość e-mail jest wysyłana bez wklejonego programu ExcelRange w ciele.

Jaki jest tego powód i jakie jest rozwiązanie?

Próbowałem komentować / odkomentować dwie ostatnie linie (Set ... = Nothing), ale to nie pomaga.

Powiązane pytania:

Skopiuj zakres komórek z programu Excel do treści wiadomości e-mail w programie Outlook

Wklejanie sformatowanego zakresu programu Excel do wiadomości programu Outlook

Kodeks odniesienia (oparty na kwintesencji kodu Ron de Bruin, patrzto ito):

Sub SendEmail()

    Dim OutlookApp As Object
    'Dim OutlookApp As Outlook.Application
    Dim MItem As Object
    'Dim MItem As Outlook.MailItem

    'Create Outlook object
    Set OutlookApp = CreateObject("Outlook.Application")
    'Set OutlookApp = New Outlook.Application

    Dim Sendrng As Range
    Set Sendrng = Worksheets("Test").Range("A1").SpecialCells(xlCellTypeVisible)
    Sendrng.Copy

    'Create Mail Item
    Set MItem = OutlookApp.CreateItem(0)
    'Set MItem = OutlookApp.CreateItem(olMailItem)
    With MItem
        .To = "[email protected]"
        .To = "[email protected]"
        .Subject = "Test"
        .CC = ""
        .BCC = ""
        '.Body = "a"
        .Display
    End With
    SendKeys "^({v})", True
    With MItem
        .Send
    End With

    'Set OutlookApp = Nothing
    'Set MItem = Nothing

End Sub

questionAnswers(1)

yourAnswerToTheQuestion