跳到主要內容

如何在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 包括 100 多種適用於 Microsoft Outlook 的強大功能。 60 天內無限制免費試用。 現在下載!


最佳辦公生產力工具

Kutools for Outlook - 超過 100 種強大的功能可增強您的 Outlook

🤖 人工智慧郵件助手: 具備人工智慧魔力的即時專業電子郵件——一鍵天才回覆、完美語調、多語言掌握。輕鬆改變電子郵件! ……

📧 電子郵件自動化: 外出(適用於 POP 和 IMAP)  /  安排發送電子郵件  /  發送電子郵件時按規則自動抄送/密件副本  /  自動轉送(進階規則)   /  自動添加問候語   /  自動將多收件者電子郵件拆分為單獨的訊息 ...

📨 電子郵件管理: 輕鬆回憶電子郵件  /  按主題和其他人阻止詐騙電子郵件  /  刪除重複的電子郵件  /  進階搜索  /  合併資料夾 ...

📁 附件專業版批量保存  /  批量分離  /  批量壓縮  /  自動保存   /  自動分離  /  自動壓縮 ...

🌟 介面魔法: 😊更多又漂亮又酷的表情符號   /  使用選項卡式視圖提高 Outlook 工作效率  /  最小化 Outlook 而不是關閉 ...

👍 一鍵奇蹟: 使用傳入附件回覆全部  /   反網路釣魚電子郵件  /  🕘顯示寄件者的時區 ...

👩🏼‍🤝‍👩🏻 通訊錄和行事曆: 從選定的電子郵件中大量新增聯絡人  /  將聯絡人群組拆分為各組  /  刪除生日提醒 ...

超過 100特點 等待您的探索! 按此處了解更多。

閱讀更多       免費下載      購買
 

 

Comments (171)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Bonjour,
J'utilise outlook depuis peu, et j'ai découvert cette manipulation pour envoyer un mail récurrent. Cela a très bien fonctionné la première fois, mais je ne comprends pas, ça ne fonctionne plus. Cela a peut-être de l'importance, mais comme je travaille sur 2 ordinateurs différents, le code VBA a aussi été intégré sur ma deuxième session outlook. Auriez-vous une explication je vous prie ?
Merci d'avance
This comment was minimized by the moderator on the site
Hi Pink,
Which Outlook version are you using? Is there a reminder dialog box popping up afterwards?
This comment was minimized by the moderator on the site
This feature does not work for me no matter what I do and from the above thread, it doesn't look like they are attempting to fix it much less address it--I don't see any responses from the developer.

It's too bad because everything else with this product works very well.
This comment was minimized by the moderator on the site
Hi Rhonda Corn,
Can you provide the emails under the following folder path?
You can compress it and send it to
C:\Users\User Name\AppData\Roaming\ExtendOffice\OutlookKutools\KTORecurringEmail
This comment was minimized by the moderator on the site
How do I get this to run 2 different scheduled emails?
This comment was minimized by the moderator on the site
Hi, 
When I put recipients names into "location" it changes "appointment" to "meeting" invite, is this working as intended? It doesn't allow me to "save and close", but rather "send" the invite now which is not what I want to do.
This comment was minimized by the moderator on the site
Hi,Appointments are not changed to meetings when entering content into the Location field. 
This comment was minimized by the moderator on the site
I scheduled the reoccurring email however instead of sending email on the 30th it sent it today. I checked the settings and is set to send email on 30th at 10 am. Instead it sent the email on the 17th at 5:45 PM
This comment was minimized by the moderator on the site
Hi Leah,Sorry for the trouble, the problem you described cannot be reproduced. Here suggest using the relevant function of KTO to send a schedule recurring email.
This comment was minimized by the moderator on the site
I’m trying to set up a recurring email to be sent. However, it’s not working for some reason. It acts like it’s trying, but I get this error message:
This comment was minimized by the moderator on the site
Hi,You need to enable the Microsoft Word Object Library mentioned in step 4 of the post to avoid this error.
This comment was minimized by the moderator on the site
It is enabled
This comment was minimized by the moderator on the site
It is enabled already
This comment was minimized by the moderator on the site
I had the same problem.  I had a look in the available references list and found a second Microsoft Word 16.0 Object Library that was not enabled. Once I enabled that one, it solved the problem for me!
This comment was minimized by the moderator on the site
Hello, 
Several errors to easily solve if the mail stays in "draft" : 
-> Add .Save juste before .Send
-> Don't close everything too fast or the script wouldn't have the time to send the mail that it has been cleaned... so find a way to delay those 2 rows 
Set xMailItem = Nothing
VBA.Kill xFldPath
Maybe with a thread sleep/wait ? Is the killing mandatory ? wouldn't this be killed when outlook is closed ? For my usecase, it was ok to remove them
This comment was minimized by the moderator on the site
I followed the instruction in this article "How to send a schedule recurring email in Outlook" multiple times, to no avail. I get the popup reminder box but, the e-mail is never sent. I've tried with Kutools for Outlook installed and uninstalled. Still no success in sending a scheduled recurring email in Outlook.

Thanx,
RLB
This comment was minimized by the moderator on the site
I have had the same situation. It was working fine for almost a year and then suddenly stopped working. I've tried recopying the code, delete it completely and start over. Same results- popup reminder box happens, I click ok, and the email is never sent.
This comment was minimized by the moderator on the site
Hi tarnold,Make sure that the category name you created in step 2 is the same as the name specified in the code.
Can you try the VBA below and give me feedback on error you encountered later? Because this problem needs to be reproduced in my case. Or you can also try the third party tool mentioned in the post. Sorry for the inconvenience.

<div data-tag="code">Private Sub Application_Reminder(ByVal Item As Object)
'Updated by Extendoffice 20220114
Dim xMailItem As MailItem
Dim xItemDoc As Word.Document
Dim xNewDoc As Word.Document
Dim xFldPath As String
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
This comment was minimized by the moderator on the site
Crystal,
Sorry for the delay.  I copied your script into VBA.  My category is "Recurring Email", so I made it match in your script.  I set up a recurring email to test it.  The reminder window pops up at the correct time.  I waited a couple of minutes and then clicked 'dismiss'.  The window closes.  No errors.  No email sent.
This comment was minimized by the moderator on the site
Hi Crystal, when using the code above I have this error: 
Erreur de compilation: Type défini par l'utilisateur non défini
it's concerning this lineDim xItemDoc As Word.Document

any ideas?
This comment was minimized by the moderator on the site
Hi Marie-Eve Noel,You need to enable the Microsoft Word Object Library mentioned in step 4 of the post to avoid this error.
This comment was minimized by the moderator on the site
At least yours work for a while. Mine never worked. Contacted Support and was told to post here. I suppose we'll have to wait on the author to respond.
This comment was minimized by the moderator on the site
Hi RodmanB,
Can neither of the two methods described in the article solve the problem?
VBA code and Kutools for Outlook are two different ways to handle the task.I need to know more specific about your issue, such as your Excel version.
This comment was minimized by the moderator on the site
Hi Crystal,
I am using MSOffice 365 for all of the Office products- Outlook, Excel, etc. As I posted 6month ago, it was working fine with my previous MSOffice desktop software.  When I switched to Office 365, it stopped working and I am having the same/similar situation as RodmanB.  The reminder popup occurs, I dismiss it and nothing happens.  The email is not in the draft folder, not in the sent folder, nothing.
This comment was minimized by the moderator on the site
Crystal,   Thanks for help. I replaced the VBCode and made a different test email. It preformed just as the other; reminder pops up, .wav file plays but the email is not sent. I'll install Kutools for Outlook and try that way tomorrow and, will respond with results.
This comment was minimized by the moderator on the site
Crystal,   Unable to install Kutool for outlook, demo license expired. Not willing to buy  just to debug this feature. So, have a great day and thanks for the help.
Thanx,RLB
This comment was minimized by the moderator on the site
Hi have implemented this and there's a couple of issues.1 - if i don't have Outlook opened, the email is not sent --> i guess this is normal, not a big deal anyway.2 - even the appointment appears just once a day and the email sent properly then, i see that the email is sent randomly other extra times during the day. For example, my schedule is daily at 9:00 and this is sent at 9:00 (OK) and also at 17:13 (NOK). I am not being able to identify why, any idea?
thanks.
This comment was minimized by the moderator on the site
What would the VBA code be for this but sending from the recipients of the appointment, not the "location" of the appointment as coded above? I need to send to 20+ people and cannot add enough names as the location fields is limited on characters. Many thanks
This comment was minimized by the moderator on the site
Hi J,You can try the second method "the Schedule auto send feature of Kutools for Outlook" mentioned in the post.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations