【问题标题】:Automatically Remove Warning in Email Body自动删除电子邮件正文中的警告
【发布时间】:2018-07-17 01:44:32
【问题描述】:

我们的 Corporate Exchange 管理员决定通过在每封收到的外部电子邮件正文中添加一个粗体红色警告来保护用户免受网络钓鱼攻击,以防万一这可能是网络钓鱼尝试。 bc 我的大部分电子邮件都是外部的,这变得令人讨厌。我还经常需要在转发或回复电子邮件之前手动删除警告(以免惊动不太精明的收件人)。我们的公司管理员对我的困境并不同情。因此,我正在寻找一种方法来自动删除警告,当电子邮件到达时,或者当我回复/转发电子邮件时。我玩过 VB,但对编写适当的代码知之甚少。任何帮助将不胜感激!在 Windows 10 上使用 OL 2016 并且警告位于消息正文中(不是主题行)

编辑:不幸的是,OL 不允许像其他办公应用程序那样进行宏录制。因此,我查看了一些帮助但解释不足以带来成功的教程。我想出了这段代码,但得到“编译错误:子或函数中的无效属性”,并突出显示了 Dim 语句:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Dim WithEvents myOLMail As Outlook.MailItem Replace(myOLMail, "Caution - External Email", "") As String End Sub

很明显,我需要更基本的了解。我通读了Getting Started with VBA in Outlook 2010,但需要更多。任何帮助或资源都会很棒。想学VB已经有一段时间了。

【问题讨论】:

  • 指针:ThisOutlookSession 中需要宏和Application_ItemSend 事件。根据该消息行的格式,您可以在消息的.Body 或.HTMLBody 中将其替换为""。
  • 提示:如果您需要向正确的方向推动,请使用宏记录器。然后在遇到特定问题时返回特定代码。那时你会得到很多帮助。哦,欢迎来到 Ugly-Red-External-Email-Message 俱乐部

标签: vba email exchange-server outlook-2016


【解决方案1】:

在 ThisOutlookSession 模块中。

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

     Item.HTMLBody = Replace(Item.HTMLBody, "Caution - External Email", "")

End Sub

使用“应用程序”时不需要 Dim 语句。这比 Microsoft 文档中描述的方式更简单。如果您需要它,它将位于模块顶部的 Sub 之外。

【讨论】:

  • 这成功了!谢谢!我理解第二行,但第一行是个谜(打开私人子后)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-17
  • 1970-01-01
  • 1970-01-01
  • 2014-05-21
  • 1970-01-01
  • 2015-12-21
  • 1970-01-01
相关资源
最近更新 更多