Otomatik e-posta için MsgBox'a erişin


1

Otomatik bir Outlook e-postası göndermek için evet / hayır komut düğmesi için VBA kodu ile ayarlanmış bir Access DB'im var. Kullanıcı Evet'i seçerse, eklere izin vermek için e-postayı açar.

Benim sorunum, kullanıcı hayır seçtiğinde, mesajın kaybolmaması ve e-postayı istendiği gibi göndermesi değil, e-postayı göndermeden önce ikinci bir yanıt için soruyu tekrar soracağıdır. Kodun ikinci yarısına çeşitli yerlere "son" yerleştirmeyi denedim ama hiçbir şey işe yaramadı. Öneriler çok takdir edilecektir!

Aşağıdaki kod:

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

Yanıtlar:


2

Kendi soruma cevap verdim - tek yapmam gereken, ikinci If ifademdeki yinelenen kodu kaldırmaktı.

MsgBox(cstrPrompt, vbQuestion + vbYesNo) =

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.