使用 Excel VBA 以编程方式禁止 Outlook 电子邮件发送警告消息

Posted

技术标签:

【中文标题】使用 Excel VBA 以编程方式禁止 Outlook 电子邮件发送警告消息【英文标题】:Programmatically supress Outlook email send warning message using Excel VBA 【发布时间】:2018-03-07 17:23:33 【问题描述】:

目前,我有一组编码设置为自动发送根据先前用户输入生成的电子邮件。

当它被调用时,它会私下生成/发送一封电子邮件 - 但要求用户接受“Okay”、“Cancel”或“Help”。

如果用户退出窗格或单击取消,则不会发送电子邮件。

有没有办法让程序自动选择命令好吗?

Private Sub sendemail()

Dim outlookapp As Object
Dim mitem As Object
Dim cell As Range
Dim email_ As String
Dim subject_ As String
Dim body_ As String
Dim attach_ As String

'''>>>EMAIL<<<'''
Set outlookapp = CreateObject("Outlook.Application")


email_ = "SomeEmail@Email.com"
subject_ = "General Subject"
body_ = "General Message"

 'create Mail Item and send it
Set mitem = outlookapp.CreateItem(0)
With mitem
    .To = email_
    .Subject = subject_
    .Body = body_
     '.Attachments.Add "C:\FolderName\Filename.txt"
     '.Display 'To Display the message with an option to send or cancel

    .Send 'To auto-send the message
End With

End Sub

我尝试过使用以下代码,但我认为我可能在错误的地方使用它,因为它没有成功:

Application.DisplayAlerts = False

'With function/code

Application.DisplayAlerts = True

【问题讨论】:

在“安全”选项卡下的 Outlook 选项中,您会发现“当其他应用程序尝试以我的身份发送邮件时警告我”旁边的复选框。只需取消选中此复选框即可。 大约有 100 个人使用这个系统,这是每个用户都需要做的事情吗?或者有什么我可以添加到代码中让它自动选择“好的”选项? 【参考方案1】:

你可以试试这样的...

Set mitem = outlookapp.CreateItem(0)
With mitem
    .To = email_
    .Subject = subject_
    .Body = body_
     '.Attachments.Add "C:\FolderName\Filename.txt"
     .Display 'To Display the message with an option to send or cancel
     Application.Wait (Now + TimeValue("0:00:02"))
     Application.SendKeys "%s"
End With

【讨论】:

以上是关于使用 Excel VBA 以编程方式禁止 Outlook 电子邮件发送警告消息的主要内容,如果未能解决你的问题,请参考以下文章

从excel vba发送outlook邮件

以编程方式(VBA,C#)将数组字符串设置为范围时,奇怪的单元格中字符数限制

excel中使用vba以只读方式打开工作薄的操作方法

excel表自杀用VBA如何编写?

excel表自杀用VBA如何编写?

excel vba 锁 ecs 键