如何停止 OutLook 安全消息 :
程序正在尝试访问电子邮件地址,允许访问 1 分钟
我想以编程方式停止此警报,并希望允许vba
访问 Outlook 的收件箱,因为我没有 Outlook 的管理员访问权限,因此我无法手动解决此问题 转到 Outlook 中的信任中心设置
我的代码工作得很好,但运行安全消息需要一次又一次地检查访问 10 分钟
使用 excel vba 我正在访问 Outlook 邮件并从邮件下载附件
Dim sa, ba As Date
Dim spa As Date
Set ObjO = CreateObject("Outlook.Application")
Set olNs = ObjO.GetNamespace("MAPI")
Set objFolder = olNs.GetDefaultFolder(6)
Debug.Print objFolder
spa = Date
Dim j
j = 0
For Each item1 In objFolder.Items
sa = Format(item1.ReceivedTime, "dd-MM-yyyy")
If sa <= spa Then
If sa > spa - 30 And item1.SenderName = "PUJARY, SHRIKANTH" Then
在执行 item1.senderName 行时,弹出安全警报
遇到同样的事情,没有简单的解决方案。从本质上讲,弹出窗口是为了防止您尝试执行的确切操作:远程控制Outlook。它是为了防御VBA/宏病毒而建立的。所以不,你不能阻止这一点。
解决方案是改用扩展消息传递 API (MAPI(,但这并非易事。可以购买帮助程序库,例如 vbMAPI 或 Outlook Redemption
有什么区别?虽然 VBA 方法允许您抓取正在运行的 Outlook 实例,但 MAPI 要求您使用用户名/密码登录到 MAPI 配置文件。这没有利用Outlook所具有的安全问题,因此是安全的。
如果使用 Redemption(我是它的作者(是一种选择,那么在几个地方修改脚本会使其在没有安全提示的情况下运行:
dim sItem
set sItem = CreateObject("Redemption.SafeMailItem")
For Each item1 In objFolder.Items
sItem.Item = item1
sa = Format(item1.ReceivedTime, "dd-MM-yyyy")
If sa <= spa Then
If sa > spa - 30 And sItem.SenderName = "PUJARY, SHRIKANTH" Then