通过Excelmacros发送电子邮件时绕过Outlook安全性

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

这是Excelmacros:

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 

我怎么能绕过这个错误,在我的macros中添加更多的东西? 错误
(我已经尝试了谷歌的所有代码,但都没有工作,我也不想在Outlook设置或Windowsregistry中更改任何内容)。

你有几个select:

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

请参阅http://www.outlookcode.com/article.aspx?id=52以获取讨论和可用选项列表。

更新防病毒安全性后再试一次。

在这里输入图像说明