Note: The other languages of the website are Google-translated. Back to 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应用程序 对话。

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应用程序 窗口。

当。。。的时候 提醒 弹出后,电子邮件将自动发送给您在第一部分的“位置”字段中键入的收件人。 然后点击 解除此信息 ,在 提醒 对话。 并且电子邮件将在这段时间内每天重复发送。 看截图:

备注:VBA代码已在Outlook 2010和更高版本中成功测试。


使用出色的工具在 Outlook 中轻松发送定期重复的电子邮件

对于很多Outlook用户来说,上述方法过于繁琐,无法正确处理。 这里强烈推荐 安排自动发送 的特点 Kutools 展望. 使用此功能,您可以轻松创建多封重复电子邮件,并根据需要安排这些电子邮件每天、每周、每月或每年定期发送。 请按以下步骤完成。

在MyCAD中点击 软件更新 下载 Kutools for Outlook 尝试一下。

1。 点击 库工具 > 安排自动发送 > 创建自动发送计划.

2.然后一个消息窗口正在打开,您需要:

2.1) 在 收件人,抄送 or 密件抄送 根据需要填写字段,然后填写电子邮件 主题;
2.2) 撰写邮件正文;
2.3)点击 循环 在下面 Kutools 经常性 标签。 看截图:

3.现在 电子邮件重复 弹出对话框,需要指定 重复时间, 重复模式复发范围 对于电子邮件,然后单击 OK 按钮。

4. 现在它返回到消息窗口,单击 保存并关闭 按钮保存重复设置并关闭窗口。

提示: 您可以根据需要重复上述步骤 1 到 4 以创建多个定期电子邮件。

5. 现在通过单击打开该功能 库工具 > 安排自动发送 > 启用。

6.在开幕 Kutools 展望 对话框,单击 确定。

完成上述设置后,当到达指定的日期和时间时,将自动发送重复邮件。

请注意: 您可以按如下方式轻松管理重复发送的电子邮件。

1。 点击 库工具 > 安排自动发送 > 管理自动发送计划.

2.在 管理自动发送计划 窗口,您可以创建 重复的电子邮件, 编辑、删除、 打开 or 折扣 您需要的现有定期电子邮件。 或者您可以点击 历史记录 图标以查看重复电子邮件的发送历史记录。

单击以了解有关此功能的更多信息.

  Kutools 展望 包括适用于Microsoft Outlook的100多种强大功能。 60天免费试用,不受限制。 现在下载!


Kutools for Outlook-为Outlook带来100个高级功能,并使工作更加轻松!

  • 自动CC / BCC 根据规则发送电子邮件; 自动转发 自定义多封电子邮件; 自动回复 没有交换服务器,还有更多自动功能...
  • BCC警告 -当您尝试全部答复时显示消息 如果您的邮件地址在“密件抄送”列表中; 缺少附件时提醒,还有更多提醒功能...
  • 在邮件对话中回复(全部)带有所有附件; 回复许多电子邮件 很快; 自动添加问候语 回复时将日期添加到主题中...
  • 附件工具:管理所有邮件中的所有附件, 自动分离, 全部压缩,全部重命名,全部保存...快速报告, 计算选定的邮件...
  • 强大的垃圾邮件 习俗 删除重复的邮件和联系人... 使您能够在Outlook中做得更聪明,更快和更好。
拍摄kutools前景kutools选项卡1180x121
拍摄kutools前景kutools加标签1180x121
 
按评论排序
注释 (171)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
该方法确实有帮助。 它适用于我测试它时创建的第一个约会。 但后来它停止工作了。
该评论由网站上的主持人最小化
我遇到了同样的问题,我重复了多次这些步骤,现在它根本不起作用,没有发送电子邮件或任何东西你能解决它吗?
该评论由网站上的主持人最小化
嗨,我可以按照上述步骤设置定期电子邮件,但是当我在约会正文中创建超链接时,当事件被触发并且我收到邮件中的邮件时,超链接被转换为原始链接。 感谢任何帮助,谢谢。
该评论由网站上的主持人最小化
谢谢! 这行得通。 有没有办法在发送的电子邮件中包含附件? 我尝试了将附件添加到日历事件的测试,但它没有通过电子邮件发送。
该评论由网站上的主持人最小化
你有没有得到关于如何添加附件的答案? 谢谢!
该评论由网站上的主持人最小化
我把它用于测试电子邮件,但现在它不再做任何事情,我已经删除了所有内容并重复了步骤,还有更多吗? 我也在展望 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
当您添加其他类别时,它正在退出子......也许使用 if instr(1,item.categories,"Send Schedule Recurring Email") =0 then exit sub 或类似的东西......
这里还没有评论
了解更多

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护