【问题标题】:Bypass Outlook Security when sending email via Excel macro通过 Excel 宏发送电子邮件时绕过 Outlook 安全性
【发布时间】:2018-05-07 12:53:22
【问题描述】:

我已经自动提醒从 Excel 发送电子邮件,由 VBS 文件(放置在 StartUp 文件夹中)触发。当我打开我的电脑时,会触发提醒,它应该发送电子邮件,但我有一个安全错误。

这是 Excel 宏:

Sub Email()
Dim aOutlook As Object
Dim aEmail As Object
Dim i As Integer
For i = 1 To 100      
If Cells(i, 3).Value = Date And IsEmpty(Cells(i, 7)) Then  
        Set aOutlook = CreateObject("Outlook.Application") 
        Set aEmail = aOutlook.CreateItem(0)
        aEmail.Importance = 2
        aEmail.Subject = ActiveSheet.Cells(i, 4)
        aEmail.Body = ActiveSheet.Cells(i, 5)
        aEmail.To = ActiveSheet.Cells(i, 6)
        aEmail.Send
        Cells(i, 7).Value = "Sent: " & Now
End If
Next i
End Sub

这是 VBS 文件:

Dim xlApp, xlBook
Set wshShell = CreateObject( "WScript.Shell" )
Set xlApp = CreateObject("Excel.Application") 
userName = wshShell.ExpandEnvironmentStrings( "%UserName%" )
Set xlBook = xlApp.Workbooks.Open("C:\Users\" + userName + "\Desktop\RM.xlsm", 0, False) 
xlApp.Application.Run "Email"
xlBook.Save
xlBook.Close
xlApp.Quit 
Set xlApp = Nothing
Set xlBook = Nothing

如何通过在宏中添加更多内容来绕过此错误?
(我已经尝试了谷歌的所有代码,但它们都不起作用。我也不想在 Outlook 设置或 Windows Reg 上进行任何更改。)

【问题讨论】:

  • 安装和使用兑换对象dimastr.com/redemption/home.htm
  • 哪个版本的 Outlook?
  • 我有 Outlook 2013。
  • 为了避免该警告,您将需要更改 Outlook 安全设置,或更改注册表值,或使用第 3 方应用程序/插件(这也将更改注册表中的 Outlook 设置}. 你不能通过添加更多代码来避免警告,否则警告将首先有目的。这就像希望代码绕过病毒扫描程序。如果可能的话,病毒扫描程序永远不会捕获病毒。一般来说,这是一个坏的绕过“任何东西”的安全设置的想法;它们的存在是有原因的。问题是您使用的是 VBS。
  • 您可以避免 Outlook 与 Microsoft 协作数据对象 (CDO) 一起使用。 rondebruin.nl/win/s1/cdo.htm

标签: vba excel vbscript outlook


【解决方案1】:

更新防病毒安全后重试。

【讨论】:

    【解决方案2】:

    你有几个选择:

    1. 如果您可以控制代码运行的环境,请安装最新的防病毒软件(此时 Outlook 不会显示提示)
    2. 扩展 MAPI(C++ 或 Delphi,不适用于 VB 脚本)。但是,您可以使用像 Redemption 这样的包装器,它使用扩展 MAPI,但可以从包括 VBS 在内的任何语言访问。
    3. 类似ClickYes的产品。

    有关讨论和可用选项列表,请参阅 http://www.outlookcode.com/article.aspx?id=52

    【讨论】:

    • 现在可以使用了。我有一个最新的防病毒软件,问题在于启动时的宏。我在 VBS 文件中添加了 WScript.Sleep 180000(3 分钟)的延迟,现在它有足够的时间检查防病毒状态。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 2011-09-14
    • 2012-03-03
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2020-05-30
    相关资源
    最近更新 更多