首页 文章

Outlook按需回复多封电子邮件

提问于
浏览
-1

只是想知道这是否可能,如果有人可以协助我吗?

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

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

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

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

2 回答

  • 1

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

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

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

    Public WithEvents myOlItems As Outlook.Items 
    
     Public Sub Initialize_handler()  
       Set myOlItems = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts).Items  
     End Sub 
    
     Private Sub myOlItems_ItemAdd(ByVal Item As Object)  
      Dim myOlMItem As Outlook.MailItem  
      Dim myOlAtts As Outlook.Attachments  
    
      Set myOlMItem = myOlApp.CreateItem(olMailItem)  
      myOlMItem.Save  
      Set myOlAtts = myOlMItem.Attachments  
      ' Add new contact to attachments in mail message  
      myOlAtts.Add Item, olByValue  
      myOlMItem.To = "Sales Team"  
      myOlMItem.Subject = "New contact"  
      myOlMItem.Send  
     End Sub
    
  • 1

    Outlook按需回复多封电子邮件

    将以下代码粘贴到 "ThisOutlookSession"

    当您将电子邮件移动到 "approved" 文件夹时,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
    

相关问题