Vba 设置子文件夹时出现问题

Vba 设置子文件夹时出现问题,vba,outlook,Vba,Outlook,我是Outlook VBA新手,在下面的代码中很难找到如何设置我的子文件夹。我一整天都在解决这个问题。不知道我错过了什么 Sub DeleteOlderThan6months() Dim oFolder As Folder Dim Date6months As Date Dim ItemsOverMonths As Outlook.Items Dim DateToCheck As String Date6months = DateAdd("d", -1, Now()) Date6month

我是Outlook VBA新手,在下面的代码中很难找到如何设置我的子文件夹。我一整天都在解决这个问题。不知道我错过了什么

Sub DeleteOlderThan6months()

Dim oFolder As Folder
Dim Date6months As Date
Dim ItemsOverMonths As Outlook.Items

Dim DateToCheck As String

Date6months = DateAdd("d", -1, Now())
Date6months = Format(Date6months, "mm/dd/yyyy")


Set oFolder = oFolder.Folders("My@email.com").Folders("Inbox").Folders("Zip Files") 

DateToCheck = "[Received] <= """ & Date6months & """"

Set ItemsOverMonths = oFolder.Items.Restrict(DateToCheck)

For i = ItemsOverMonths.Count To 1 Step -1
ItemsOverMonths.Item(i).Delete
Next


Set ItemsOverMonths = Nothing
Set oFolder = Nothing


End Sub
Sub deleteolderthan 6个月()
文件夹As文件夹的Dim
Dim日期6个月作为日期
将项目设置为Outlook.Items的期限
Dim DateToCheck As字符串
Date6months=DateAdd(“d”,-1,Now())
Date6months=格式(Date6months,“mm/dd/yyyy”)
文件夹集合=文件夹集合。文件夹(“My@email.com)文件夹(“收件箱”)。文件夹(“Zip文件”)

DateToCheck=“[Received]这应该可以,请参见如何设置子文件夹

Option Explicit
Sub DeleteOlderThan6months()
    '//  Declare variables
    Dim oFolder As Folder
    Dim Date6months As Date
    Dim ItemsOverMonths As Outlook.Items
    Dim DateToCheck As String
    Dim olNs As Outlook.NameSpace
    Dim Inbox  As Outlook.MAPIFolder
    Dim oItem As Object
    Dim i As Long

    '// set your inbox and subfolder
    Set olNs = Application.GetNamespace("MAPI")
    Set Inbox = olNs.GetDefaultFolder(olFolderInbox)
    Set oFolder = Inbox.Folders("Zip Files")

    Date6months = DateAdd("d", -1, Now())
    Date6months = Format(Date6months, "mm/dd/yyyy")

    DateToCheck = "[Received] <= """ & Date6months & """"
    Set ItemsOverMonths = oFolder.Items.Restrict(DateToCheck)

    '// Loop through the Items in the folder backwards
    For i = ItemsOverMonths.Count To 1 Step -1
        Set oItem = ItemsOverMonths.Item(i)
        If TypeOf oItem Is Outlook.MailItem Then
            Debug.Print oItem.Subject
            oItem.Delete
        End If
    Next

    Set ItemsOverMonths = Nothing
    Set oFolder = Nothing

End Sub
选项显式
子删除时间超过6个月()
'//声明变量
文件夹As文件夹的Dim
Dim日期6个月作为日期
将项目设置为Outlook.Items的期限
Dim DateToCheck As字符串
将olNs设置为Outlook.NameSpace
将收件箱暗显为Outlook.Mapi文件夹
作为对象的Dim oItem
我想我会坚持多久
“//设置收件箱和子文件夹
Set olNs=Application.GetNamespace(“MAPI”)
设置收件箱=olNs.GetDefaultFolder(olFolderInbox)
文件夹集=Inbox.Folders(“Zip文件”)
Date6months=DateAdd(“d”,-1,Now())
Date6months=格式(Date6months,“mm/dd/yyyy”)

DateToCheck=“[Received]谢谢。这解决了我的问题。谢谢。这也很有效。非常感谢您的支持。可能重复的
Option Explicit
Sub DeleteOlderThan6months()
    '//  Declare variables
    Dim oFolder As Folder
    Dim Date6months As Date
    Dim ItemsOverMonths As Outlook.Items
    Dim DateToCheck As String
    Dim olNs As Outlook.NameSpace
    Dim Inbox  As Outlook.MAPIFolder
    Dim oItem As Object
    Dim i As Long

    '// set your inbox and subfolder
    Set olNs = Application.GetNamespace("MAPI")
    Set Inbox = olNs.GetDefaultFolder(olFolderInbox)
    Set oFolder = Inbox.Folders("Zip Files")

    Date6months = DateAdd("d", -1, Now())
    Date6months = Format(Date6months, "mm/dd/yyyy")

    DateToCheck = "[Received] <= """ & Date6months & """"
    Set ItemsOverMonths = oFolder.Items.Restrict(DateToCheck)

    '// Loop through the Items in the folder backwards
    For i = ItemsOverMonths.Count To 1 Step -1
        Set oItem = ItemsOverMonths.Item(i)
        If TypeOf oItem Is Outlook.MailItem Then
            Debug.Print oItem.Subject
            oItem.Delete
        End If
    Next

    Set ItemsOverMonths = Nothing
    Set oFolder = Nothing

End Sub