我编写了 VBA 将电子邮件保存为文本文件。
对于数字签名的电子邮件,它会提示我是否要以不安全的格式保存文件(是或否继续)。我想抑制这个警告。
我尝试了以下方法:
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Application.DisplayAlerts = False
m.SaveAs savePath, olTXT
With Application
.EnableEvents = True
.ScreenUpdating = ture
End With
还有
Application.DisplayAlerts = False
m.SaveAs savePath, olTXT
Application.DisplayAlerts = True
它们都不起作用(我收到编译错误)。如何在 Outlook 中关闭这些警报?
这些属性适用于 Word 或 Excel。 Outlook 没有同等功能。您能做的最好的事情就是使用 SendKeys 方法来模拟单击“是”或“否”按钮:https://msdn.microsoft.com/en-us/library/office/gg278655.aspx
您需要的工具是 MAPILab 提供的一个免费插件,名为 Advanced Security for Outlook。它为 Outlook 安全系统提供了逻辑且平滑的集成扩展,可以在不影响您的安全的情况下消除恼人的警告。 https://www.mapilab.com/outlook/security/
可以覆盖“数字签名”标志,请参阅如何在 Outlook 加载项中设置 PR_SECURITY_FLAGS MAPI 属性(新 Web 加载项、Office JS + 清单) 当然,这只能在邮件。见
Const PR_SECURITY_FLAGS = "http://schemas.microsoft.com/mapi/proptag/0x6E010003"
Set OutlookApplication = CreateObject("Outlook.Application")
Set namespace = OutlookApplication.GetNamespace("MAPI")
Set myMailItem = namespace.OpenSharedItem("...") ' Path to msg file
myMailItem.PropertyAccessor.SetProperty PR_SECURITY_FLAGS 0
myMailItem.SaveAs savePath, olRTF