Есть ли способ в Excel VBA, чтобы запретить Outlook спрашивать о том, сохранять ли изменения после открытия его в Excel VBA? - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть вопрос, касающийся программирования на VBA в Excel 2016:

Следующий код VBA открывает Outlook:

Sub mail()
    Dim objOutlook As Object
    Dim objMail As Object

    Set objOutlook = CreateObject("Outlook.Application")
    Set objMail = objOutlook.CreateItem(0)

    With objMail
       .To = "Yourname@Yourdomain.com"
       .Subject = "My Subject"
       .Body = "My message." 
       .Display        'This creates and opens the Email. The user has to manually click the send button in Outlook afterwards
    End With


End Sub

Теперь у пользователя есть действительная опция немедленного закрытия Outlook.Однако в этом случае Outlook открывает всплывающее окно о погоде или нет, чтобы сохранить изменения.

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

Спасибо.

1 Ответ

0 голосов
/ 25 сентября 2019

Я думаю, что вы можете использовать oldiscard

Sub mail()
Dim objOutlook As Object
Dim objMail As Object

Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)

With objMail
   .To = "Yourname@Yourdomain.com"
   .Subject = "My Subject"
   .Body = "My message."
   .Display        'This creates and opens the Email. The user has to manually click the send button in Outlook afterwards
End With

If Msg("Do you rwant to close this mail?" & vbCrLf, vbYesNo) = vbYes Then objMail.Close oldiscard
End Sub

Этот код спросит вас, хотите ли вы закрыть свою электронную почту, если да, он закроется, не спросив вас, хотите ли вы сохранить изменения.Хорошим обходным решением было бы поставить oldiscard, как только вы нажмете кнопку закрытия перспективы, для него вам придется использовать Inspector.

Возможно, вам придется следовать этому руководству и адаптировать его: Смотрите руководство здесь

...