【问题标题】:Deleting emails from subfolder in Outlook从 Outlook 中的子文件夹中删除电子邮件
【发布时间】:2021-03-12 20:32:22
【问题描述】:

以下代码将从“已删除邮件”文件夹中删除电子邮件。

如何从“已删除邮件”文件夹中名为“Extra”的子文件夹中删除电子邮件?

Sub DeletedItems()

Dim lCount As Long
Dim lCtr As Long
Dim lDelete As Long
Dim oFolder As Folder
Dim oItems As Items

Set oFolder = Outlook.Session.Folders("profile.com").Folders("Deleted Items")

Set oItems = oFolder.Items
lCount = oItems.Count

On Error Resume Next
lDelete = InputBox("Enter number to delete:", , lCount)
On Error GoTo 0
If lDelete = 0 Then
    Exit Sub
End If

For lCtr = lDelete To 1 Step -1
    oItems(lCtr).Delete
Next
End Sub

【问题讨论】:

  • 我想通了。这需要更改: Set oFolder = Outlook.Session.Folders("profile.com").Folders("Deleted Items").Folders("Extra")

标签: vba outlook


【解决方案1】:

请尝试下一个代码:

Sub DeleteSubfolderItems()
 Dim lCount As Long, lCtr As Long, lDelete As String, oFolder As MAPIFolder
 Dim objOutlook As New Outlook.Application, olSubFolder As MAPIFolder, oItems As Items

 Set oFolder = objOutlook.Session.GetDefaultFolder(olFolderDeletedItems) 'Trash folder...
 Set olSubFolder = oFolder.Folders("Test Trash") 'use here your subfolder
 Set oItems = olSubFolder.Items
 lCount = oItems.count

 lDelete = InputBox("Enter number to delete:", , lCount)

 If lDelete = "" Then
   Exit Sub
 End If

 For lCtr = CLng(lDelete) To 1 Step -1
   'Debug.Print oItems.item(lCtr).subject
   oItems(lCtr).Delete
 Next
End Sub

【讨论】:

    猜你喜欢
    • 2017-06-16
    • 1970-01-01
    • 2015-07-25
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多