我创建了一个宏,可以打开一个 Outlook 电子邮件模板,供用户发送(从电子表格中提取一些附加信息)。一切都很顺利,只是 Outlook 会根据用户设置自动附加签名。虽然我可以很容易地关闭我自己的签名,但我并不是唯一可能运行这个宏的人。

电子邮件模板中已经有公司签名,因此不需要添加个人签名。

谷歌提供了很多关于让 VBA 生成的电子邮件签名的建议,但我找不到任何东西来关闭它们。有任何想法吗?

现有代码:

... snip ...

Set otlApp = CreateObject("Outlook.Application")
Set otlNewMail = otlApp.CreateItemFromTemplate("\\Path\To\MyFile.oft")

With otlNewMail
.Bcc = vEmailsFromSpreadsheet '(set earlier on)
.Display
End With

'otlApp.Quit
Set otlNewMail = Nothing
Set otlApp = Nothing
Set otlAttach = Nothing
Set otlMess = Nothing
Set otlNSpace = Nothing

最佳答案

@乔马尔帕斯,

我知道这是一个旧帖子,但为了其他可能偶然发现此问题的人的利益......

通过阅读您的解决方案,我了解到问题在于当您在从模板创建的电子邮件上使用 .Display 时,Outlook 会附加一个签名。由于这是唯一的问题,我想到该解决方案可能比您提供的解决方案简单得多。

在原始帖子的代码中,您可以简单地将 替换为

    .Display


    BodyWithoutSignature = .HTMLBody
    .Display
    .HTMLBody = BodyWithoutSignature

由于 .Display 附加了您不想要的签名,只需将正文替换为添加签名之前的内容即可。我测试了它,并且(很惊讶)它确实有效。就这么简单!

关于excel - VBA 使用 OFT 模板从 Excel 发送电子邮件 - 禁止自动签名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25126398/

10-16 16:46