MS Outlook 干扰 Access vba 程序
Posted
技术标签:
【中文标题】MS Outlook 干扰 Access vba 程序【英文标题】:MS Outlook interferes with an Access vba procedure 【发布时间】:2016-08-30 15:37:43 【问题描述】:我使用的是 Windows 7 企业版和 Office 2013 专业版。多年来,我一直在 Access 中使用以下程序在 Outlook 中一次向 200 位或更多客户发送电子邮件。这些程序使我能够个性化每封电子邮件和任何附件(通过 Word 邮件合并和 pdf)。它简单可靠,可以节省大量时间。最近,该程序受到 MS Outlook 的干扰。查看附件。它迫使我在每封电子邮件上单击“允许”,并使我的程序毫无用处。我通过电子邮件与三位 MS 帮助联系人进行了交谈,但他们无能为力。当时有人告诉我,这对代理人来说“技术性太强”,我被告知会被另一个人联系。至今没有人联系我。任何人都可以提出任何建议吗?这个问题最近才开始。我想知道是否应该尝试卸载 Office 的最新更新。 。这是我的程序:
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 了解讨论和您的选项列表。
基本上你的选择是
-
安装最新的 AV 产品
扩展 MAPI(仅限 C++ 或 Delphi,无 VBA)
第三方产品,如Redemption 或ClickYes。
【讨论】:
我现在知道问题是怎么来的了。上次我使用我的程序(没有任何问题)时,我将卡巴斯基作为我的 AV。但是当我发现它干扰了我的 MS Azure 备份时,我卸载了它。因此,我最近的问题,现在通过 AVG 解决,它不会干扰 Azure。以上是关于MS Outlook 干扰 Access vba 程序的主要内容,如果未能解决你的问题,请参考以下文章
从 Access 中的 VBA 调用时 Outlook.exe 进程未结束
将 Access 和 Outlook 与 VBA 集成以进行定期报告
使用 VBA 保存和关闭办公程序(word、excel、access、outlook)以进行备份