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
2 回答
我建议从MSDN中的Getting Started with VBA in Outlook 2010文章开始 . 它解释了编程VBA宏的基础知识 .
将一个或多个项目添加到Items集合(即文件夹)时会触发ItemAdd事件 . 请注意,当一次将大量项目添加到文件夹时,不会触发该事件 .
因此,您可以处理已批准文件夹的ItemAdd事件以创建并发送回复 . Outlook项目的Reply方法从原始邮件创建一个预先发送给原始发件人的回复 . Send方法发送电子邮件 . 例如:
将以下代码粘贴到 "ThisOutlookSession" 中
当您将电子邮件移动到 "approved" 文件夹时,Outlook将自动发送回复