Как проверить, закрывает ли пользователь почту, а не отправляет ее? - PullRequest
0 голосов
/ 16 января 2020

У меня есть программа, которая вызывает шаблон Outlook.

Моя программа получает необходимые данные для заполнения этого шаблона Outlook. Отображается почта Outlook.

MsgBox появляется перед тем, как пользователь отправляет письмо, сообщая, что электронное письмо отправлено.

Пользователь может изменить это сообщение перед отправкой.

Есть ли способ, если пользователь закрывает почту Outlook перед отправкой, Excel VBA может уведомить пользователя о том, что электронное письмо не было отправлено, вместо того, чтобы запросить его отправку?

    ' With the clients personal Outlook Template...
    With outlookAttachmentBackup

        '...the email template inserts the emailValue from the ExcelDB Excel file
        outlookAttachmentBackup.To = emailValue 

        outlookAttachmentBackup.CC = CCRecipient

        '...includes the subjectLine variable
        outlookAttachmentBackup.Subject = subjectLine

        '...then attaches the copied workbook 
        outlookAttachmentBackup.Attachments.Add copyWorkbook.FullName

        copyWorkbook.Save '...it then saves the copy workbook

        '...IF WANTING. THIS WILL ALLOW THE USER  TO REVIEW THE EMAIL BEFORE IT SENDS
        outlookAttachmentBackup.Display

       '...it then closes the copyWorkbook
        copyWorkbook.Close 

        ' button is then set back to be visible after the file is sent. 
        thisWorksheet.Shapes("btnSend").Visible = True

        ' Message notifying user that the file has been sent
        MsgBox ("Your file has been sent."), vbInformation

        '...The Outlook email template is then sent off!
        'outlookAttachmentBackup.Send

    End With

В настоящее время у меня есть функция .Send, закомментированная, поэтому после того, как все переменные получены, Outlook отображает почту (.Display) и, по сути, MsgBox является просто жестким кодом.

Есть ли способ, которым после того, как почта Outlook будет отображена и пользователь решит закрыть ее, а не нажать кнопку «Отправить», программа VBA обнаружит это и затем предложит пользователю «Не отправлено»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...