【问题标题】:Sending Emails with Outlook 2013/Excel 2013使用 Outlook 2013/Excel 2013 发送电子邮件
【发布时间】:2022-04-03 15:18:03
【问题描述】:

我目前有一个程序可以将电子邮件排队发送到电子表格中,然后通过 Outlook 应用程序将它们发送出去(Excel 和 Outlook 都是 2013 版本)。

当我运行该程序时,它可以顺利通过,但是当同事运行该程序时,他们会继续收到“程序正在尝试代表您发送消息”的提示,然后他们必须允许或逐一否认。

我已经查看了解决此问题的不同方法,从更改注册表(尝试过但没有更改任何内容)到安全设置(仍然没有)。

有没有办法用 VBA 解决这个问题?

目前的代码是:

Sub SendEmail(what_address As String, subject_line As String, mail_body_message As String)

Dim olApp As Outlook.Application
Dim oAttach As Outlook.Attachment

Set olApp = CreateObject("Outlook.Application")

Dim olMail As Outlook.MailItem

Set olMail = olApp.CreateItem(olMailItem)

With olMail

.To = "ADDRESS"

.Subject = "SUBJECT"

.BodyFormat = olFormatHTML

.HTMLBody = mail_body_message

'.CC = "EMAIL"
.BCC = ""

.Importance = olImportanceHigh

.ReadReceiptRequested = True

.Send

End With

End Sub 

谢谢!

【问题讨论】:

  • 您可以使用由 Outlook MVP @Dmitry Streblechenko 开发的Redemption,它可以更轻松地编写您的解决方案而不会触发此类提示,也可以更轻松地在 Outlook 中进行编程。或者看看SelfCert会不会有帮助

标签: vba excel outlook email


【解决方案1】:

来自 Ron 的 site 而不是 .Send

 .Display 
 Application.Wait (Now + TimeValue("0:00:02"))
 Application.SendKeys "%s"

这只会调出要发送的电子邮件和发送键 Alt-S。

【讨论】:

    猜你喜欢
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    相关资源
    最近更新 更多