Outlook按需回复多封电子邮件

时间:2015-07-07 17:27:25

标签: vba outlook outlook-vba

只是想知道这是否可行,是否可以有人协助我?

在这种情况下,我们所做的是电子邮件进入共享文件夹。然后我们将对这些电子邮件进行排序。

排序后,我们将开始将电子邮件放入已批准的文件夹中。我想要做的是在Outlook中有一个VBA宏,它将能够生成对已批准文件夹中所有电子邮件的自定义回复。

例如,如果我们在文件夹中放置5封电子邮件并运行脚本,则应该向这5位发件人发送电子邮件。

电子邮件将是通用的,例如“您已获批准,请退出”时间“。

2 个答案:

答案 0 :(得分:1)

我建议从MSDN中的Getting Started with VBA in Outlook 2010文章开始。它解释了编程VBA宏的基础知识。

当一个或多个项目添加到Items集合(即文件夹)时,会触发ItemAdd事件。请注意,当一次将大量项目添加到文件夹时,不会触发该事件。

因此,您可以处理已批准文件夹的ItemAdd事件以创建并发送回复。 Outlook项目的Reply方法会从原始邮件中创建一个预先发送给原始发件人的回复。 Send方法发送电子邮件。例如:

<select name = "type1" id = "type1">
                <option value = "Listing Discrepancy">Listing Discrepancy</option>
                <option value = "PO Discrepancy">PO Discrepancy</option>
                <option value = "Pricing Discrepancy">Pricing Discrepancy</option>
                <option value = "Program Glitch">Program Glitch</option>
                <option value = "Receiving Discrepancy">Receiving Discrepancy</option>
                <option value = "RMA Discrepancy">RMA Discrepancy</option>
                <option value = "Sales Discrepancy">Sales Discrepancy</option>
                <option value = "Shipping Discrepancy">Shipping Discrepancy</option>
            </select>

答案 1 :(得分:1)

  

Outlook会根据需要回复多封电子邮件

将以下代码粘贴到 "ThisOutlookSession"

当您将电子邮件移至“已批准”文件夹时,Outlook会自动发送回复

Option Explicit
 '// items in the target folder to events
Dim WithEvents TargetFolderItems As Items

Private Sub Application_Startup()
    Dim olNamespace As Outlook.NameSpace

    Set olNamespace = Application.GetNamespace("MAPI")
    Set TargetFolderItems = olNamespace.GetDefaultFolder(olFolderInbox) _
                                         '// Set your folder here
                                         .Folders.Item("approved").Items

End Sub

'// ItemAdd event code
Sub TargetFolderItems_ItemAdd(ByVal Item As Object)
    Dim olReply As MailItem

    Set olReply = Item.Reply
        olReply.HTMLBody = "You are approved " & vbCrLf & olReply.HTMLBody
        olReply.Send

    Set TargetFolderItems = Nothing
    Set olReply = Nothing

End Sub