从 Outlook 中的子文件夹中删除电子邮件

时间:2021-02-22 12:21:18

标签: vba outlook

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

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

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

1 个答案:

答案 0 :(得分:0)

请尝试下一个代码:

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