转发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对象,该对象表示发送后将保存电子邮件消息副本的文件夹。因此,您可以轻松识别自动转发的消息。

+0

感谢尤金的信息。不幸的是,我真的不知道如何解决这个问题。我的VBA知识几乎为零。上面的脚本我从别人那里得到,并能够在这个论坛的帮助下调整它。任何帮助,将不胜感激。 – mike1588

+0

请参见[Outlook 2010中的VBA入门](https://msdn.microsoft.com/zh-cn/library/office/ee814736%28v=office.14%29.aspx?f=255&MSPPError=-2147217396)快速开始。 –