1

У меня есть Access DB с кодом VBA для кнопки «да / нет» для автоматической отправки электронной почты Outlook. Если пользователь выбирает Да, он открывает электронное письмо, чтобы разрешить вложения.

Моя проблема в том, что, когда пользователь выбирает "нет", сообщение не исчезает и отправляет сообщение электронной почты в соответствии с запросом, а вместо этого снова запрашивает вопрос о втором ответе до отправки сообщения. Я пытался поместить "конец" во второй половине кода в разных местах, но, похоже, ничего не работает. Предложения будут с благодарностью!

Код ниже:

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

1 ответ1

2

Я ответил на свой вопрос - все, что мне нужно было сделать, это удалить дублирующийся код в моем втором операторе If.

MsgBox(cstrPrompt, vbQuestion + vbYesNo) =

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .