簡體   English   中英

使用 Excel 中的 Outlook 自動發送電子郵件

[英]Send email automatically using outlook from excel

我正在嘗試每天下午 5 點發送一個打開的工作簿 (Excel)。 這是我的代碼:

我把這個放在一個模塊中

Sub SendEmail()

    Dim OutApp As Object
    Dim OutMail As Object
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    With OutMail
        .To = "yourmail"
        .CC = ""
        .BCC = ""
        .Subject = "Report"
        .Body = "Hello!"
        .Attachments.Add ActiveWorkbook.FullName

        .Send
    End With

    Set OutMail = Nothing
    Set OutApp = Nothing
    Application.OnTime TimeValue("17:00:00"), "SendEmail"

End Sub

我把這個放在 ThisWorkbook

Sub Workbook_Open()

    Application.OnTime TimeValue("17:00:00"), "SendEmail"
End Sub

我的工作簿一直打開。 我無法收到電子郵件,除非我在 Excel 中點擊了運行按鈕。 我希望它每天自動執行。

你應該做的是添加一個新的子程序來設置從 open 命令和電子郵件調用的時間表,這將導致它每天重置。

添加這個子:

Sub SetSchedule()

Application.OnTime TimeValue("17:00:00"), "SendEmail"

Application.OnTime TimeValue("23:59:00"), "SetSchedule"

End Sub

並從 open sub 調用它:

Sub Workbook_Open()

    Call SetSchedule

End Sub

然后,您可以從電子郵件子本身刪除Application.OnTime調用

您最好的選擇將是一個簡單的重復性任務 Item 設置它通過使用提醒每天 17:00 重復

示例:創建自定義任務項以在 1700 處重復

將以下代碼添加到 ThisOutlookSession

Option Explicit
Private Sub Application_Reminder(ByVal item As Object)
'   Now call your VBA Code

End Sub

一旦提醒觸發,您的電子郵件將自動發送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM