有没有办法防止Outlook中的自动解决?

时间:2013-08-23 23:51:09

标签: excel vba outlook outlook-vba

我通过excel自动化Outlook发送电子邮件,并设法使用sendkeys绕过关于病毒的讨厌警告消息(在调用sendkeys之前检查器激活)。

现在我有时会收到关于允许访问联系人的消息。 我有收件人的电子邮件地址,不需要访问联系人,但outlook autoresolve启动,然后弹出一个允许访问联系人的弹出窗口。这没有5秒延迟,但它仍然阻止系统完全自动化。 我试图避免使用第三方工具,如兑换,我想知道是否有人找到了解决autoresolve的方法。

我已阅读其他网站上的帖子,建议关闭自动填充和自动名称检查,但Outlook仍会尝试在邮件发送时解析该地址。

任何指针都会很高兴收到。

编辑2013年8月24日

我听说如果您使用Microsoft批准的病毒扫描程序查看2007及以上版本以及正确安装的系统,您将看不到该消息,但我无法控制用户计算机上的程序安装。

我尝试的代码包括

Function Mailit(byval sMessageTo as String, byval sSamplerCenter as String, byval sFileSpec as String)

Dim olApp As outlook.Application
Dim objMail As Outlook.MailItem
Dim blnOLOpen As Boolean

    On Error Resume Next
    Set olApp = GetObject(, "Outlook.Application")
    blnOLOpen = True
    On Error Goto 0

    If olApp Is Nothing Then
        Set olApp = CreateObject("Outlook.Application")
        blnOLOpen = False
    End If

    Set objMail = olApp.CreateItem(olMailItem)

    With objMail
       .To = sMessageTo
       .Subject = sSampleCenter
       .Attachments.Add sFileSpec
       .Send
    End With

这会导致有关病毒的警告消息,并在用户可以选择发送邮件之前等待5秒钟。我使用的sendkeys方法与With objMail相同,但随后执行以下操作:

Dim myInspector As Outlook.Inspector


With objMail
.To = MessageTo
.Subject = SampleCenter
.Attachments.Add FileSpec
.Display
End With

Set myInspector = objMail.GetInspector
myInspector.Activate
SendKeys "%s", True

我还有一些代码用于检查已发送文件夹中的项目数量是否已增加并等待/调用检查器,如果没有则发送sendkeys函数。 此方法不会导致警告,但通常会生成一个对话框,询问用户是否希望允许访问其联系人。

1 个答案:

答案 0 :(得分:0)

在Outlook中:转到选项 - >电子邮件并禁用“自动解析名称”复选框。