Note: The other languages of the website are Google-translated. Back to English
English English

如何在Outlook中發送定期計劃電子郵件?

在Microsoft Outlook中,您可以輕鬆地將日程安排定期約會,會議或任務發送給其他人。 但是,如果您只想發送定期重複的電子郵件而沒有任何約會,會議或任務,該怎麼辦? 不幸的是,Outlook沒有提供用於發送計劃重複電子郵件的功能,但是在我們的教程中,我們將向您展示如何在Outlook中發送計劃重複電子郵件。

使用VBA代碼在Outlook中發送定期計劃電子郵件

使用出色的工具在 Outlook 中輕鬆發送定期重複的電子郵件


使用VBA代碼在Outlook中發送定期計劃電子郵件

本教程分為四個部分,完成這些部分後,您將成功發送計劃重複執行的電子郵件。 請執行以下操作。

第 1 部分:創建新約會

1.請瀏覽至 日曆 點擊查看 日曆導航窗格,然後通過單擊創建新約會 新任命首頁 標籤。

3。 在裡面 任命 對話框下 任命 標籤。 你需要:

答:輸入 主旨 B:在“收件人”中輸入收件人的電子郵件地址 地點
C:配置 開始時間時間結束 D:在下方選擇提醒 提醒 下拉列表。
如果您選擇15分鐘,則表示它將在發送電子郵件的15分鐘前提醒您。
E:撰寫您的約會內容。

備註:“ 預約主題 將成為重複出現的電子郵件主題; 和 預約機構 收件人收到電子郵件後,它將成為重複出現的電子郵件正文。

第 2 部分:創建新類別

現在,您需要創建一個名為“發送計劃定期電子郵件“ 如下:

1。 在裡面 任命 對話框,請點擊 分類 > 所有類別標籤 組下 任命 標籤。

2。 當。。。的時候 顏色分類 彈出對話框,請點擊 全新 按鈕。 在裡面 添加新類別 對話框中,輸入“發送計劃定期電子郵件“在 姓名 領域; 然後在 顏色 下拉列表。 然後點擊 OK.

3.然後,您將看到“發送計劃定期電子郵件”類別已列出,請選中該框,然後單擊 OK 按鈕。

第 3 部分:設置重複

現在,該設置約會的重複時間了。

1。 點擊 循環 選項 組下 任命 標籤。 看截圖:

2。 在裡面 預約定期 對話框中,配置您的 循環 模式。 如果您需要結束時間,請在下面進行配置 復發範圍。 然後點擊 OK.

3.返回到 任命 對話框,請點擊 保存並關閉 按鈕。 看截圖:

第 4 部分:使用 VBA 代碼發送計劃定期電子郵件

1.請按 其他 + F11 打開 Microsoft Visual Basic for Applications 對話。

2。 雙擊 Project1 > Microsoft Outlook對象 > 本次展望會議 在左窗格中。 看截圖:

3.將以下VBA代碼複製並粘貼到VBA編輯器中。 然後點擊 節省 按鈕。

VBA:發送計劃定期電子郵件

Private Sub Application_Reminder(ByVal Item As Object)
'Updated by Extendoffice 20200522
Dim xMailItem As MailItem
Dim xItemDoc As Word.Document
Dim xNewDoc As Word.Document
Dim xFldPath As String
On Error Resume Next
If Item.Class <> OlObjectClass.olAppointment Then Exit Sub
If Item.Categories <> "Send Schedule Recurring Email" Then Exit Sub
Set xMailItem = Outlook.Application.CreateItem(olMailItem)
Set xItemDoc = Item.GetInspector.WordEditor
xFldPath = CStr(Environ("USERPROFILE"))
xFldPath = xFldPath & "\MyReminder"
If Dir(xFldPath, vbDirectory) = "" Then
    MkDir xFldPath
End If
xFldPath = xFldPath & "\AppointmentBody.xml"
xItemDoc.SaveAs2 xFldPath, wdFormatXMLDocument ' wdFormatXML
Set xNewDoc = xMailItem.GetInspector.WordEditor
VBA.DoEvents
xNewDoc.Application.Selection.HomeKey
xNewDoc.Activate
xNewDoc.Application.Selection.InsertFile FileName:=xFldPath, Attachment:=False
With xMailItem
    .To = Item.Location
    .Recipients.ResolveAll
    .Subject = Item.Subject
    .Send
End With
Set xMailItem = Nothing
VBA.Kill xFldPath
End Sub

4。 點擊 工具 > 參考 打開 參考 -項目 對話。 在對話框中,檢查 Microsoft Word對像庫 選項,然後單擊 OK 按鈕。

5。 按 其他 + Q 按鍵同時關閉 Microsoft Visual Basic for Applications 窗口。

提醒 彈出後,電子郵件將自動發送給您在第一部分的“位置”字段中鍵入的收件人。 然後點擊 Dismiss提醒 對話。 並且電子郵件將在此時間每天重複發送。 看截圖:

備註:VBA代碼已在Outlook 2010和更高版本中成功測試。


使用出色的工具在 Outlook 中輕鬆發送定期重複的電子郵件

對於很多Outlook用戶來說,上述方法過於繁瑣,無法正確處理。 這裡強烈推薦 安排自動發送 的特點 Kutools for Outlook. 使用此功能,您可以輕鬆創建多封重複電子郵件,並根據需要安排這些電子郵件每天、每週、每月或每年定期發送。 請按以下步驟完成。

造訪 下載 Kutools for Outlook 嘗試一下。

1。 點擊 庫工具 > 安排自動發送 > 創建自動發送計劃.

2.然後一個消息窗口正在打開,您需要:

2.1) 在 收件人,抄送 or “密件抄送” 根據需要填寫字段,然後填寫電子郵件 主題;
2.2) 撰寫郵件正文;
2.3)點擊 循環Kutools 經常性 標籤。 看截圖:

3.現在 電子郵件重複 彈出對話框,需要指定 重複時間, 重複模式復發範圍 對於電子郵件,然後單擊 OK 按鈕。

4. 現在它返回到消息窗口,單擊 保存並關閉 按鈕保存重複設置並關閉窗口。

提示: 您可以根據需要重複上述步驟 1 到 4 以創建多個定期電子郵件。

5. 現在通過單擊打開該功能 庫工具 > 安排自動發送 > 啟用。

6.在開幕 Kutools for Outlook 對話框,單擊 確定。

完成上述設置後,當到達指定的日期和時間時,將自動發送重複郵件。

備註: 您可以按如下方式輕鬆管理重複發送的電子郵件。

1。 點擊 庫工具 > 安排自動發送 > 管理自動發送計劃.

2。 在裡面 管理自動發送計劃 窗口,您可以創建 重複的電子郵件, 編輯、刪除、 打開 or off 您需要的現有定期電子郵件。 或者您可以點擊 日誌 圖標以查看重複電子郵件的發送歷史記錄。

單擊以了解有關此功能的更多信息.

  Kutools for Outlook 包括適用於Microsoft Outlook的100多種強大功能。 60天免費試用,不受限制。 現在下載!


Kutools for Outlook-為Outlook帶來100個高級功能,並使工作更加輕鬆!

  • 自動CC / BCC 根據規則發送電子郵件; 自動前進 自定義多封電子郵件; 自動回复 沒有交換服務器,還有更多自動功能...
  • BCC警告 -當您嘗試全部答复時顯示消息 如果您的郵件地址在“密件抄送”列表中; 缺少附件時提醒,還有更多提醒功能...
  • 在郵件對話中回复(全部)帶有所有附件; 回复許多電子郵件 片刻之間; 自動添加問候語 回复時將日期添加到主題中...
  • 附件工具:管理所有郵件中的所有附件, 自動分離, 全部壓縮,重命名全部,保存全部...快速報告, 計算選定的郵件...
  • 強大的垃圾郵件 習俗 刪除重複的郵件和聯繫人... 使您能夠在Outlook中做得更聰明,更快和更好。
拍攝kutools前景kutools選項卡1180x121
拍攝kutools前景kutools加標籤1180x121
 
按評論排序
留言 (169)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
該方法確實有幫助。 它適用於我測試它時創建的第一個約會。 但後來它停止工作了。
網站主持人對此評論進行了最小化
我遇到了同樣的問題,我已經多次重複這些步驟,現在它根本不起作用,沒有發送電子郵件或任何東西你能解決它嗎?
網站主持人對此評論進行了最小化
嗨,我可以按照上述步驟設置定期電子郵件,但是當我在約會正文中創建超鏈接時,當事件被觸發並且我收到郵件中的郵件時,超鏈接被轉換為原始鏈接。 感謝任何幫助,謝謝。
網站主持人對此評論進行了最小化
謝謝! 這行得通。 有沒有辦法在發送的電子郵件中包含附件? 我嘗試了將附件添加到日曆事件的測試,但它沒有通過電子郵件發送。
網站主持人對此評論進行了最小化
你有沒有得到關於如何添加附件的答案? 謝謝!
網站主持人對此評論進行了最小化
我讓這個用於測試電子郵件,但現在它不再做任何事情,我已經刪除了所有內容並重複了步驟,還有更多嗎? 我也在展望 2013
網站主持人對此評論進行了最小化
我有同樣的問題。 這是第一次工作,但重複的約會提醒似乎沒有觸發電子郵件。 有沒有人找到解決這個問題的方法?
網站主持人對此評論進行了最小化
[quote]我得到這個用於測試電子郵件,但現在它不再做任何事情,我已經刪除了所有內容並重複了步驟,還有更多嗎? 我也在展望 2013由精彩[/quote] 你解決過這個問題嗎? 我剛剛進行了設置,並且看到了與您所做的相同的事情。 第一次效果很好,然後什麼都沒有。
網站主持人對此評論進行了最小化
我最終通過在 Outlook 中啟用默認情況下關閉的宏來解決這個問題。 我現在唯一的問題是電子郵件中的文本只是純文本,沒有粗體、字體大小或顏色變化等。 有什麼方法可以更改上面的代碼,以便在電子郵件中包含 RTF 或 HTML 文本?
網站主持人對此評論進行了最小化
嗨,你解決了嗎。 我有同樣的問題試過這個,但沒有工作。 Sub SetMailFormat_2002_2003_2007_2010(ByRef mail As Object) Dim mailFormat As System.Int32 mailFormat = Convert.ToInt32(mail.GetType().InvokeMember("BodyFormat", _ Reflection.BindingFlags.GetProperty, Nothing, mail, Nothing)) 'OlBodyFormat.olFormatUnspecified = 0 'OlBodyFormat.olFormatPlain = 1 'OlBodyFormat.olFormatHTML = 2 'OlBodyFormat.olFormatRichText = 3 If (mailFormat = 1) Then mailFormat = 2 mail.GetType().InvokeMember("BodyFormat", _ Reflection.BindingFlags.SetProperty, _ Nothing, mail, New Object() {mailFormat}) End Sub Private Sub Application_Reminder(ByVal Item As Object) Dim MItem As MailItem Set MItem = Application.CreateItem(olMailItem) If Item.MessageClass "IPM.Appointment" Then Exit Sub If Item .Categories "發送計劃定期電子郵件" 然後退出 Sub MItem.To = Item.Location MItem.Subject = Item.Subject MItem.Body = Item.Body MItem.Send Set MItem = Nothing End Sub
網站主持人對此評論進行了最小化
[quote]我最終通過在 Outlook 中啟用默認情況下關閉的宏來解決這個問題。 我現在唯一的問題是電子郵件中的文本只是純文本,沒有粗體、字體大小或顏色變化等。 有什麼方法可以更改上面的代碼,以便在電子郵件中包含 RTF 或 HTML 文本?由凱爾[/quote] 嗨,您找到解決方案了嗎? 我需要它:) 金
網站主持人對此評論進行了最小化
您也可以考慮使用 Windows 任務計劃程序來完成類似的任務。 它易於使用,甚至可以處理附件。
網站主持人對此評論進行了最小化
我嘗試了任務,但我沒有得到任何東西,因為附件沒有進入電子郵件的正文。 請告知您是如何做到的。
網站主持人對此評論進行了最小化
您使用的是哪個代碼? 它沒有將附件附加到電子郵件中。
網站主持人對此評論進行了最小化
你怎麼關掉它?
網站主持人對此評論進行了最小化
在我的腦海中,要停止發送重複的電子郵件,您可以: 1. 完全刪除約會。 2.更改或刪除設置的類別。 3. 將“結束”日期應用於約會重複。
網站主持人對此評論進行了最小化
您是否需要打開/運行 Outlook 才能發送定期郵件?
網站主持人對此評論進行了最小化
此代碼是否適用於 Office 365 - Outlook 2013? 我已經按照這些步驟操作了好幾次,也啟用了宏。 我收到提醒並按下關閉,但電子郵件從未發送。
網站主持人對此評論進行了最小化
嘿,看看這個——我想你一定會喜歡這個功能的。沒有更多的每週模板電子郵件
網站主持人對此評論進行了最小化
有沒有辦法發送到聯繫人中的通訊組列表?
網站主持人對此評論進行了最小化
是的亞倫,我需要自己做。 我嘗試添加一個名為“Spec Group”的通訊組列表(Outlook 聯繫人組)。 這沒有發送。 但是,我將列表名稱更改為“Spec@Group”(使其看起來像一個實際的電子郵件地址),並且效果很好。 它必須需要'@'才能被拾取。 幸運的猜測! :哈哈:
網站主持人對此評論進行了最小化
這運作良好。 現在我需要同一封電子郵件才能發送到多個組。 任何人都可以幫忙嗎? Private Sub Application_Reminder(ByVal Item As Object) Dim CF As Folder Set CF = Application.Session.GetDefaultFolder(olFolderContacts) Dim DLI As DistListItem Set DLI = CF.Items("GDL Group 1") Dim MItem As MailItem Set MItem = Application. CreateItem(olMailItem) If Item.MessageClass "IPM.Appointment" Then Exit Sub If Item.Categories "Recurring GDL Recert Email" Then Exit Sub MItem.To = DLI MItem.Subject = Item.Subject MItem.Body = Item.Body MItem。發送 Set MItem = Nothing End Sub
網站主持人對此評論進行了最小化
製作另一個分發列表,其中包含/指向您已經設置並要包含的其他分發列表。
網站主持人對此評論進行了最小化
計算機不在時,是否可以安排在 Outlook 中發送電子郵件。 例如,我想在周日發送一個約會提醒,以便在周一開會,但我周日不上班,那麼當我不上班並且我的電腦在周日時,如何讓該電子郵件出去?離開? 謝謝!
網站主持人對此評論進行了最小化
按 ALT 和 F11 時沒有出現 VBA 代碼。 我能夠調出 Microsoft Visual Basic for Applications,但沒有代碼。 你能給些建議麼? 謝謝你,拉傑
網站主持人對此評論進行了最小化
嗨 Raj,不應該存在 VBA 代碼。 如果您按照上面的指南操作,當您雙擊“ThisOutlookSession”時,它應該是空的。 您必須將指南中顯示的代碼複製並粘貼到“ThisOutlookSession”窗口中,然後保存。 希望這可以幫助。
網站主持人對此評論進行了最小化
嗨,當我按照所有步驟並保存並去做另一封電子郵件時 - 上次的代碼仍然存在。 代碼是否附加到所選類別,因此無需為每封電子郵件添加代碼?
網站主持人對此評論進行了最小化
嗨 Bonnie,VBA 代碼只需要添加一次(對於第一封重複的電子郵件)。 如果設置不止一封定期電子郵件,則錯過該步驟。
網站主持人對此評論進行了最小化
我有 Office 2016,我完全按照您的指示嘗試了這個。 有效!! 非常感謝。 我確實必須在 Outlook 2016 和 VBA 編輯器中更改我的宏安全設置才能使其正常工作,但是一旦完成,說明就會很容易流動。
網站主持人對此評論進行了最小化
您好,您是如何更改 Outlook 中的宏安全設置的,您將其更改為什麼?
網站主持人對此評論進行了最小化
所以有兩件事,一是它沒有按照我寫的方式顯示 IE 沒有粗體字符,二是我如何添加簽名? 因為它顯示為超鏈接而不是我的常規簽名。 謝謝您的幫助。
網站主持人對此評論進行了最小化
Alex Mine 的格式也被去掉了。 我們如何保持它?
網站主持人對此評論進行了最小化
它發送得很好,但它丟棄了我在電子郵件正文中的所有花哨格式。 我如何讓它保持這種格式???
網站主持人對此評論進行了最小化
我需要知道如何\如果你可以附上一個 excel 速寫表?
網站主持人對此評論進行了最小化
大家好。 這段代碼很好用,但我有一個小問題。 我嘗試發送的電子郵件屬於兩個類別:發送消息(宏使用)和 PROGRAMARI RED-TEAM。 當我只添加發送消息類別時,宏工作正常,但只要添加任何其他類別,宏就會停止發送電子郵件。 這是到目前為止的代碼。 請幫助:P Private Sub Application_Reminder(ByVal Item As Object) Dim objMsg As MailItem Set objMsg = Application.CreateItem(olMailItem) 'IPM.TaskItem 監視任務提醒 If Item.MessageClass "IPM.Appointment" Then Exit Sub End If If Item.Categories "Send Message" Then Exit Sub End If objMsg.To = Item.Location objMsg.BCC = "andrei.buldus@promotor.ws" objMsg.Subject = "Instiintare expirare Autorizatie/Contract Service" objMsg.Body = "Buna " & vbNewLine & _ "Acest lucru este in atentia departamentului nostru Service, si urmeaza sa fiti contactati in cel mai scurt timp posibil pentru a stabil cursul actiunilor viitoare." & vbNewLine & vbNewLine & _ "Va multumim pentru increderea acordata." & vbNewLine & _ "Promotor Import Export SRL" & vbNewLine & vbNewLine & vbNewLine & _ "Acesta este un mesaj automat." objMsg.Send Set objMsg = Nothing End Sub
網站主持人對此評論進行了最小化
由於線路而停止....如果 Item.Categories <> "Send Schedule Recurring Email" Then Exit Sub
當您添加其他類別時,它正在退出 sub.... 可能使用 if instr(1,item.categories,"Send Schedule Recurring Email") =0 then exit sub 或類似的東西...
這裡還沒有評論
載入更多
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點