[英]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.