Eu respondi minha própria pergunta - tudo que eu tinha que fazer era remover o código duplicado na minha segunda instrução If.
MsgBox(cstrPrompt, vbQuestion + vbYesNo) =
Eu tenho um banco de dados de acesso 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, ele abrirá o email para permitir anexos.
Meu problema é que, quando o usuário seleciona não, a mensagem não desaparece e envia o e-mail como solicitado, mas, em vez disso, faz a pergunta novamente para uma segunda resposta antes de enviar o e-mail. Eu tentei colocar um "final" 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