只是想知道这是否可行,是否可以有人协助我?
在这种情况下,我们所做的是电子邮件进入共享文件夹。然后我们将对这些电子邮件进行排序。
排序后,我们将开始将电子邮件放入已批准的文件夹中。我想要做的是在Outlook中有一个VBA宏,它将能够生成对已批准文件夹中所有电子邮件的自定义回复。
例如,如果我们在文件夹中放置5封电子邮件并运行脚本,则应该向这5位发件人发送电子邮件。
电子邮件将是通用的,例如“您已获批准,请退出”时间“。
答案 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