【问题标题】:Automate Outlook mail scheduler自动化 Outlook 邮件调度程序
【发布时间】:2020-11-29 17:06:23
【问题描述】:

我在 Excel VBA 中遇到了一个代码,它根据代码中的给定时间范围通过 Outlook 发送邮件。 “收件人、抄送、主题和邮件正文”都只能在excel中输入。

代码工作正常,但.Send 给出错误287-Application or object defined error。该代码在我同事的笔记本电脑上运行良好,所以我猜这是我的 Outlook 或 excel 中的一些设置错误。我在执行代码时保持我的前景开放。代码写在下面。谁能指出可能出了什么问题?

Sub Send_Email()
    Dim sh As Worksheet
    Set sh = ThisWorkbook.Sheets("Sheet1")
    
    '''''''''' Update Next ''''''''''''''

    Call Update_Next_Schedule_Time
    Application.OnTime sh.Range("K20").Value, "Send_Email"

    ''''''''''''''''''''''''''''''''''''''
    Dim oa As Object
    Dim msg As Object

    Set oa = CreateObject("outlook.application")
    Set msg = oa.createitem(0)

    With msg
        .To = sh.Range("C2").Value
        .CC = sh.Range("C4").Value
        .Subject = sh.Range("C6").Value
        .Body = sh.Range("C8").Value
        .display
        .send
    End With
End Sub

【问题讨论】:

  • 如果在.display.send 之间输入Doevents 会发生什么?
  • Outlook 会打开草稿邮件,但不会自动发送。
  • 你做了我上面提到的吗?如果是,您是否遇到任何错误?
  • 我做了 Doevents,它准备了我的邮件,即它是在 Outlook 中起草的。但未发送,这意味着我需要单击发送按钮。但是,代码已经说“.send”,不幸的是抛出错误。

标签: excel vba outlook


【解决方案1】:

我相信这是由于您的 Outlook 安全策略。检查它是否允许编程访问。如果没有,并且您无法说服您的 IT 部门进行任何更改,那么您应该自动化打开的 Outlook 应用程序,而不是创建一个新的 Outlook 实例。另外,您是否尝试将电子邮件发送给自己?

【讨论】:

  • 信任中心似乎处于非活动状态且防病毒状态有效。我尝试发送给自己和其他人。我认为这是安全政策的问题。如何自动化 Outlook 应用程序?我可以尝试为我的 Gmail 运行此程序吗?你认为我需要什么改变?我很想看到这段代码运行。
猜你喜欢
  • 1970-01-01
  • 2014-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-23
  • 2021-07-02
相关资源
最近更新 更多