vba - 如何使用宏删除 Outlook 2003 中选定邮件的特定类别?

标签 vba outlook categories

我正在尝试将我的Outlook2003改造成最接近gmail的东西。

我开始使用类别,这与 gmail 中的标签非常相似。我可以使用规则自动分配类别,也可以手动添加类别。 我还创建了“搜索文件夹”,显示给定类别的所有邮件(如果它们不在“已删除邮件”或“已发送邮件”文件夹中)。这部分几乎就像 gmail 中的标签 View 。

基本上缺少两件事,这应该用宏(准确地说是VBA)来完成,而我对此完全没有经验。因此我的问题是:

-有人可以告诉我一个宏来删除“收件箱”类别吗? 这与 Gmail 中的“存档”按钮完全相同。事实上,我想将此宏分配给工具栏按钮并将其命名为“存档”。 我有一条规则,将收件箱类别添加到所有传入邮件中。正如我所说,我有一个搜索文件夹,显示分类为“收件箱”的所有邮件,而且我还有一个“所有邮件”搜索文件夹,显示所有邮件,无论它们是否具有“收件箱”类别。就像 Gmail 一样,只是缺少简单的存档功能。

-有人可以向我展示一个宏,该宏可以删除选定的邮件,并且还会在删除之前删除收件箱类别吗?我将用此宏替换默认的删除按钮。 (不太重要,因为在我的搜索文件夹中,我可以过滤物理上放置在“已删除邮件”文件夹中的邮件,但不将邮件分类为“收件箱”中的垃圾箱会更优雅。

提前非常感谢,

塞克利亚

最佳答案

我已经使用了 Sue 的删除代码 http://www.outlookcode.com/codedetail.aspx?id=1211

但这应该对你有用

添加了保存!哦!

Sub UnAssignInboxCat()
Dim SelectedItems As Selection
Dim Item As MailItem


Set SelectedItems = Application.ActiveExplorer.Selection

For Each Item In SelectedItems

RemoveCat Item, "Inbox"
Item.Save
Next

Set SelectedItems = Nothing
Set Item = Nothing

End Sub
Sub DeleteAndUnAssignInboxCat()
Dim SelectedItems As Selection
Dim Item As MailItem
Set SelectedItems = Application.ActiveExplorer.Selection

For i = SelectedItems.Count To 1 Step -1
    Set Item = SelectedItems.Item(i)
    RemoveCat Item, "Inbox"
    Item.Save

    Item.Delete
Next

Set SelectedItems = Nothing
Set Item = Nothing

End Sub




Sub RemoveCat(itm, catName)
    arr = Split(itm.Categories, ",")
    If UBound(arr) >= 0 Then
        ' item has categories
        For i = 0 To UBound(arr)
            If Trim(arr(i)) = catName Then
                ' category already exists on item
                ' remove it
                arr(i) = ""
                'rebuild category list from array
                itm.Categories = Join(arr, ",")
                Exit Sub
            End If
        Next
    End If
End Sub

关于vba - 如何使用宏删除 Outlook 2003 中选定邮件的特定类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2875046/

相关文章:

excel - 在Excel VBA中将选择除以X

c# - 如何从电子邮件中获取收件人

excel - 从剪贴板复制到VB中的数组

rest - 访问 outlook http sync-messages 端点时出现错误 ServiceUnavailable

magento - 隐藏搜索结果分层导航中的某个类别

wordpress - Woocommerce 自定义产品类别下拉问题

vba - 在 Excel 中以编程方式隐藏事件工作簿

excel - Excel VBA 的 LIFO(堆栈)算法/类

excel - 将带有UTF-8特殊字符的txt文件导入xlsx

php - 在单个产品页面列表输出中隐藏 WooCommerce 特定子类别