【问题标题】:Automatically forward email by VBA Outlook通过 VBA Outlook 自动转发电子邮件
【发布时间】:2021-12-29 00:35:28
【问题描述】:

我正在使用以下代码自动转发电子邮件。我已经添加了 Outlook 规则。

  1. 发送电子邮件地址
    当前:只能发送 1 封电子邮件
    愿望:发送到许多不同的电子邮件

  2. 电子邮件内容
    当前:没有电子邮件内容
    期望:添加关于电子邮件内容的命令,包括(标题邮件+任何内容)

Sub AutoForwardAllSentItems(Item As Outlook.MailItem)
Dim strMsg As String
Dim myFwd As Outlook.MailItem

Set myFwd = Item.Forward

myFwd.Recipients.Add "xxx@xxx.com, yyy@xxx.com"
myFwd.Recipients.Add "yyy@xxx.com; zzz@xxx.com"
myFwd.Recipients.Add "zzz@xxx.com yyy@xxx.com"

xStr = "<p>" & "Hi, Your email has been received. Thank you!" & "</p>"
myFwd.HTMLBody = xStr & .HTMLBody

myFwd.Send
Set myFwd = Nothing
End Sub

【问题讨论】:

  • 顺便说一句,您可以通过 Outlook 规则实现这一点,是否有任何情况无法解决?
  • 我已经添加了outlook规则。
  • 您的 Outlook 规则与您的代码有何关联?你真的从规则中调用你的子程序吗?你没有明确说过。
  • @TSPham 请编辑您的问题并在其中包含您的代码。评论中的代码未格式化且难以阅读。
  • 我已成功运行脚本。我已经更新了代码。

标签: vba email outlook


【解决方案1】:

您没有指定从哪里获得 .HTMLBody,但我认为它来自 Item 参数。

你可以这样添加:

myFwd.Recipients.Add "xxx@xxx.com"
myFwd.Recipients.Add "yyy@xxx.com"
myFwd.Recipients.Add "zzz@xxx.com"

xStr = "<p>Hi, Your email has been received. Thank you!</p>"
myFwd.HTMLBody = xStr & Item.HTMLBody

【讨论】:

  • 问题解决了,非常感谢。现在自动发送到 3 个不同的电子邮件。你能告诉我如何只向多个收件人发送一封电子邮件吗?
  • 我的答案中的前 3 行代码应该可以证明这一点。每行增加一个收件人。看看它们有何不同?
  • 我尝试了以上 3 种方法,但都不起作用
猜你喜欢
  • 1970-01-01
  • 2013-10-15
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 2021-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多