2016-08-30 115 views
0

我使用Windows 7 Enterprise和Office 2013 Professional。多年来,我一直使用Access中的以下程序将Outlook中的电子邮件发送到200个或更多的客户端。这些程序使我能够个性化每封电子邮件和任何附件(通过Word邮件合并和pdf)。它简单可靠,节省大量时间。最近,该程序受到MS Outlook的干扰。查看附件。它迫使我点击每个电子邮件上的“允许”并呈现我的程序无用。我通过电子邮件与三位MS帮助联系人交谈,但他们无能为力。当时我被告知这对代理人来说太“技术性”,我被告知我会被另一个人联系。迄今没有人联系过我。任何人都可以提出建议这个问题才刚刚开始。我想知道是否应该尝试卸载Office的最新更新。 Outlook Warning。这里是我的程序:MS Outlook干扰Access vba程序

Private Sub EmlSetUP_Click() 

If IsNull(Me.Email) Then 
    DisplayMessage ("No email address.") 
    Exit Sub 
Else 
    RemoveSchma 
    DoCmd.TransferText acExportMerge, "", "qryRetSlip", conAddrPth & "\DataSource.txt", True, "", 1252 
    SndEml 
End If 

End Sub 

Sub SendEml() 

Dim objOutlook As New Outlook.Application 
Dim objMail As MailItem 
Dim Subj As String 
Dim Text As String 
Dim PathName As String 
Dim PathName2 As String 

Subj = "DBS Checks" 

Text = "I have received a payment for £53.00 which I cannot apply. The only information given is 'DBS Check'." & vbCr & vbCr & _ 
    "I'm emailing all possible clients. Is it from you?" & vbCr & vbCr & _ 
    "Best wishes." & vbCr & vbCr & EmailSig 

PathName = conDesktp & "\DBS Checks.xls" 
PathName2 = conAddrPth & "\Documents Needed.pdf" 

OpenWordDoc2 

Set objOutlook = New Outlook.Application 
Set objMail = objOutlook.CreateItem(olMailItem) 

With objMail 
.To = Email 
.Subject = Subj 
'.DeleteAfterSubmit = True 
.Body = Text 
.NoAging = True 
.Attachments.Add PathName 
.Attachments.Add PathName2 
'.Display (True) 
.Send 
End With 

Set objMail = Nothing 
Set objOutlook = Nothing 

End Sub 


Private Sub EmlBulk_Click() 

Dim rstForm As Recordset 
Dim Wrng As Integer 

Wrng = MsgBox("WARNING! This will immediately send an email to ALL client managers." & vbCr & vbCr & "You will not be able to stop it!!!" _ 
      & vbCr & "Are you certain you have got the text of the email and any attachments right?", vbCritical + vbDefaultButton2 + vbYesNo, "DBS Database") 

If Wrng = 7 Then 
    Exit Sub 
Else 
    Set rstForm = Forms!frmClientEmail.Form.Recordset 

    Do While Not rstForm.EOF 
     If IsNull(Me.Email) Then 
      rstForm.MoveNext 
     Else 
      RemoveSchma 
      SndEml 
      rstForm.MoveNext 
     End If 
    Loop 
End If 

DoCmd.Close acForm, "frmClientEmail" 
DoCmd.OpenForm "Switchboard" 

End Sub 

回答

1

请参阅http://www.outlookcode.com/article.aspx?id=52讨论和您的选项列表。

本质上你的选择是

  1. 安装一个上最新AV产品
  2. 扩展MAPI(C++或Delphi而已,没有VBA)
  3. 第三方产品,如RedemptionClickYes
+0

已安装AVG AV并解决了该问题。 –

+0

我现在知道问题是如何产生的。上次我使用我的程序(没有任何问题),我有卡巴斯基作为我的AV。但是当我发现它干扰了我的MS Azure备份时,我卸载了它。因此,我最近的问题,现在通过AVG解决,不会影响Azure。 –