转发Outlook项目作为附件,并将其添加到相同的VBA宏中的类别
问题描述:
我有一个宏作为附件转发多个Outlook项目。我粘贴了下面的内容,但我希望它也可以将转发的消息添加到Outlook中的某个类别中。因此,它不仅会将收件箱中的项目转发给收件人,还会将这些项目标记在某个类别中。这样我就可以跟踪使用宏转发的项目。就像现在一样,它会告诉我该物品已经在这样的日期被转发,但这可能只是一个常规的转发行为。因此,需要宏将项目添加到特定类别。转发Outlook项目作为附件,并将其添加到相同的VBA宏中的类别
Sub ForwardSelectedItems()
On Error Resume Next
Dim objItem As Outlook.MailItem
If Application.ActiveExplorer.Selection.Count = 0 Then
MsgBox ("No item selected")
Exit Sub
End If
For Each objItem In Application.ActiveExplorer.Selection
Set objMsg = objItem.Forward()
With objMsg
.Attachments.Add objItem, olEmbeddeditem
.Subject = "example"
.To = "[email protected]"
.Body = “”
.Send
End With
Next
Set objItem = Nothing
Set objMsg = Nothing
End Sub
答
所述的MailItem类的Categories属性允许设置表示分配到Outlook项的类别的字符串。以下是MSDN所述的内容:
类别是已分配给Outlook项目的分类字符串类别名称。此属性使用在Windows注册表中的HKEY_CURRENT_USER \ Control Panel \ International下的值名称sList中指定的字符作为多个类别的分隔符。要将类别名称字符串转换为类别名称数组,请使用Microsoft Visual Basic函数Split。
请注意,您可以使用Namespace类的Categories属性来获取表示可用的Category对象集合的Categories对象。此属性表示主分类列表,它是可应用于NameSpace对象所包含的Outlook项目的Category对象集合,适用于该名称空间的所有用户。
另外,您可以考虑指定邮件项目的SaveSentMessageFolder。该属性允许设置一个Folder对象,该对象表示发送后将保存电子邮件消息副本的文件夹。因此,您可以轻松识别自动转发的消息。
感谢尤金的信息。不幸的是,我真的不知道如何解决这个问题。我的VBA知识几乎为零。上面的脚本我从别人那里得到,并能够在这个论坛的帮助下调整它。任何帮助,将不胜感激。 – mike1588
请参见[Outlook 2010中的VBA入门](https://msdn.microsoft.com/zh-cn/library/office/ee814736%28v=office.14%29.aspx?f=255&MSPPError=-2147217396)快速开始。 –