【问题标题】:Outlook security prompt: Sendkeys does not have the right focusOutlook 安全提示:Sendkeys 没有正确的焦点
【发布时间】:2022-05-04 06:23:08
【问题描述】:

我想自动化 Outlook 2014 中的一些基本操作,所以我在 VBA 中创建了一个宏。但是如果在脚本执行过程中出现任何错误,我需要发送一封电子邮件,并且我想绕过 Outlook 的确认消息(当您要发送带有宏的邮件时出现的弹出窗口)。

Private Sub sendEmailError()
  Dim Email As Outlook.Application
  Dim EmailMsg As Outlook.MailItem
  Dim Dest As Outlook.Recipient

  Set Email = CreateObject("Outlook.Application")
  Set EmailMsg = Email.CreateItem(olMailItem)
  Set Dest = EmailMsg.Recipients.Add("mail@mail.com")

  EmailMsg.Subject = MessageSubject
  EmailMsg.Body = MessageBody
  EmailMsg.Display
  SendKeys "^{ENTER}", True
End Sub

我认为“EmailMsg.Display”会将焦点放在消息框上,然后,由于发送键,我可以执行快捷方式来发送电子邮件。但是焦点没有给到消息框,在我的脚本中宏结束后control+key的快捷键...

感谢您的帮助!

【问题讨论】:

    标签: vba outlook sendkeys


    【解决方案1】:

    可能能够覆盖提示,但根据定义,您不应该这样做,我猜微软可能会采取一些安全措施来阻止您这样做。该提示旨在确保用户可以接受一个宏与他们的电子邮件混淆,因此它违背了允许宏代表用户单击“确定”的观点。

    您可以改为进入 Outlook 信任中心,然后在“程序访问”选项卡上,将其设置为“从不警告我有关可疑活动”。这将永久删除提示。

    【讨论】:

    • 你是对的......这可能是不可能的......谢谢你的帮助!
    【解决方案2】:

    我知道这不是你想要的,但是

    EmailMsg.Send 
    

    而不是

    EmailMsg.Display
    

    马上寄出去

    【讨论】:

    • EmailMsg.Send 完美运行,但显示警告消息。我想做与此链接中的第四条消息相同的事情:mrexcel.com/forum/excel-questions/…
    • 发送空间接受警告信息不起作用?是否应该在 msgbox 上设置焦点?
    • 它只适用于帮助按钮和拒绝按钮。对于允许按钮,它只会选择它并等待用户操作。
    【解决方案3】:

    加上额外的警告信息,它看起来像这样:

    Private Sub sendEmailError()
      Dim Email As Outlook.Application
      Dim EmailMsg As Outlook.MailItem
      Dim Dest As Outlook.Recipient
    
      Set Email = CreateObject("Outlook.Application")
      Set EmailMsg = Email.CreateItem(olMailItem)
      Set Dest = EmailMsg.Recipients.Add("mail@mail.com")
    
      EmailMsg.Subject = MessageSubject
      EmailMsg.Body = MessageBody
      EmailMsg.Send
      SendKeys " "
    End Sub
    

    【讨论】:

    • 我现在正在测试这个功能,它只适用于帮助按钮和拒绝按钮。对于允许按钮,它只会选择它并等待用户操作。
    • 它会选择接受按钮吗?或者问别的,如果看到警告,自己敲空格,对msgbox有影响吗?不幸的是,我的系统上没有显示提示(outlook 2016)。也许在发送空间之前发送键“y”以选择“是”? ://
    • 如果我按下空格并且我在接受按钮上,它会接受,但如果是 sendkeys 按下接受按钮,它不会接受它。谢谢您的关心^^
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    相关资源
    最近更新 更多