【问题标题】:Forwarding Outlook Item as attachment and adding it to a category in the same VBA macro将 Outlook 项目作为附件转发并将其添加到同一 VBA 宏中的类别中
【发布时间】:2015-06-02 21:08:37
【问题描述】:

我有一个宏,可用于将多个 Outlook 项目作为附件转发。我已将其粘贴在下面,但我希望它还将转发的消息添加到 Outlook 中的类别中。因此,它不仅会将我收件箱中的项目转发给收件人,而且还会将这些项目标记为某个类别。这样我就可以跟踪我使用宏转发了哪些项目。就像现在一样,它会显示该项目已在某个日期转发,但这可能只是一个常规转发操作。因此需要宏将项目添加到专门的类别中。

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 = "example@example.com"
        .Body = “”
        .Send
    End With

Next

Set objItem = Nothing
Set objMsg = Nothing

End Sub

【问题讨论】:

    标签: vba outlook forward items


    【解决方案1】:

    MailItem 类的Categories 属性允许设置表示分配给 Outlook 项目的类别的字符串。以下是 MSDN 的声明:

    类别是已分配给 Outlook 项目的类别名称的分隔字符串。此属性使用 Windows 注册表中 HKEY_CURRENT_USER\Control Panel\International 下的值名称 sList 中指定的字符作为多个类别的分隔符。要将类别名称字符串转换为类别名称数组,请使用 Microsoft Visual Basic 函数拆分。

    请注意,您可以使用 Namespace 类的 Categories 属性来获取表示可用的 Category 对象集的 Categories 对象。此属性表示主类别列表,它是一组类别对象,可应用于 NameSpace 对象包含的 Outlook 项目,并应用于该命名空间的所有用户。

    您也可以考虑为邮件项目指定SaveSentMessageFolder。该属性允许设置一个 Folder 对象,该对象表示发送后将保存电子邮件副本的文件夹。因此,您可以轻松识别自动转发的消息。

    【讨论】:

    • 感谢尤金提供的信息。不幸的是,我真的不知道如何解决这个问题。我的 VBA 知识几乎为零。上面的脚本是我从其他人那里得到的,并且能够在这个论坛的帮助下对其进行调整。任何帮助将不胜感激。
    猜你喜欢
    • 1970-01-01
    • 2016-03-04
    • 2018-12-04
    • 2016-09-23
    • 1970-01-01
    • 2016-01-13
    • 2021-12-24
    • 1970-01-01
    • 2018-11-17
    相关资源
    最近更新 更多