Acceda a MsgBox para correo electrónico automatizado


1

Tengo una base de datos de acceso configurada con código VBA para un botón de comando sí / no para enviar un correo electrónico de Outlook automatizado. Si el usuario selecciona Sí, abre el correo electrónico para permitir archivos adjuntos.

Mi problema es que cuando el usuario selecciona no, el mensaje no desaparece y envía el correo electrónico como se le solicitó, sino que hace la pregunta nuevamente para obtener una segunda respuesta antes de enviar el correo electrónico. He intentado colocar un "final" en la segunda mitad del código en varios lugares, pero nada parece funcionar. ¡Las sugerencias serán muy apreciadas!

Código a continuación:

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 = "ccaddress@yourmailaddress.com"
     .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 = "ccaddress@yourmailaddress.com"
     .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

Respuestas:


2

Respondí mi propia pregunta: todo lo que tenía que hacer era eliminar el código duplicado en mi segunda instrucción If.

MsgBox(cstrPrompt, vbQuestion + vbYesNo) =

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.