Acesse MsgBox para e-mail automatizado

Acesse MsgBox para e-mail automatizado

Eu tenho um banco de dados do Access configurado com código VBA para um botão de comando sim/não para enviar um email automatizado do Outlook. Se o usuário selecionar Sim, o email será aberto para permitir anexos.

Meu problema é que quando o usuário seleciona não, a mensagem não desaparece e envia o e-mail conforme solicitado, mas faz a pergunta novamente para uma segunda resposta antes de enviar o e-mail. Tentei colocar um "fim" na segunda metade do código em vários lugares, mas nada parece funcionar. Sugestões seriam muito apreciadas!

Código abaixo:

Private Sub Command2064_Click()

Const cstrPrompt As String = _
    "Do you want to add an attachment to your audit feedback?"
If MsgBox(cstrPrompt, vbQuestion + vbYesNo) = vbYes Then

'******begin code******
Dim olApp As Object
   Dim objMail As Object

   Set olApp = GetObject(, "Outlook.Application") 'See if Outlook is open

   'Create e-mail item
   Set objMail = olApp.CreateItem(olMailItem)

'***creates and sends email
With objEmail
    With objMail
     .To = Me.Combo0 & "" & "@myemail.com"
     '.Cc = "[email protected]"
     .Subject = "Audit Correction Needed"
     .Body = Me.Text136 & "          " & "          " & Me.Combo154 & "                    " & Me.Text1677
     .Display
     End With
     End

End With
End If


If MsgBox(cstrPrompt, vbQuestion + vbYesNo) = vbNo Then

  Set olApp = GetObject(, "Outlook.Application") 'See if Outlook is open
  'Create e-mail item
   Set objMail = olApp.CreateItem(olMailItem)
  '***creates and sends email
With objEmail
    With objMail
     .To = Me.Combo0 & "" & "@myemail.com"
     '.Cc = "[email protected]"
     .Subject = "Audit Correction Needed"
     .Body = Me.Text136 & "          " & "          " & Me.Combo154 & "                    " & Me.Text1677
     .send
     End With


End With


  MsgBox "Audit Correction Email has been sent. You must now select the Send to Tracking Sheet button."

End If
End Sub

Responder1

Eu respondi minha própria pergunta - tudo que precisei fazer foi remover o código duplicado na minha segunda instrução If.

MsgBox(cstrPrompt, vbQuestion + vbYesNo) =

informação relacionada