将特定邮件从一个文件夹移动到另一个文件夹

法比安

在Outlook中,我希望有一个FollowUp-Solution,它可以检查特定文件夹(源文件夹)中是否有超过1天的邮件,并将它们移动到另一个特定文件夹(目标文件夹)中。

我的问题是,似乎我的代码未正确循环SourceFolder。一些邮件已移动,但某些旧邮件仍在SourceFolder中。

当我重新启动代码时,一些剩余的邮件现在已移动,但仍有一些保留在SourceFolder中。

我试图以其他方式(使用;每个;执行)来循环这些项目,但是我想我对vba的理解太糟糕了,无法获得可行的解决方案。

Sub MoveFollowUpItems()
Dim FolderTarget    As Folder
Dim FolderSource    As Folder
Dim Item            As Object
Dim FolderItems     As Outlook.Items

Set FolderTarget = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Set FolderSource = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders("FollowUp")

Set FolderItems = FolderSource.Items

For Each Item In FolderItems
    If Item.ReceivedTime < Date - 1 Then    '
        Item.Move FolderTarget
        End If
    Next
End Sub

有谁知道如何处理propper循环?

0立方米

对于每个循环来说,很棒,但是当移动/删除项目时,以相反的顺序循环通过,您知道倒数(即3,2,1)。为此,您可以将其合并Step -1到循环语句中。

另外,为改善循环,请尝试在日期过滤器上使用Items.Restrict方法(Outlook)

Option Explicit
Sub MoveFollowUpItems()
    Dim FolderTarget    As Folder
    Dim FolderSource    As Folder
    Dim FolderItems     As Outlook.Items

    Set FolderTarget = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
    Set FolderSource = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders("FollowUp")

    Dim Filter As String
        Filter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:datereceived" & _
                          Chr(34) & " <= 'Date - 1' "

    Set FolderItems = FolderSource.Items.Restrict(Filter)

    Debug.Print FolderItems.Count

    Dim i As Long
    For i = FolderItems.Count To 1 Step -1
        Debug.Print FolderItems(i) 'Immediate Window
'        FolderItems(i).Move FolderTarget
    Next

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将特定的电子邮件从一个子文件夹移动到另一个子文件夹

Python脚本将特定文件从一个文件夹移动到另一个文件夹

如何将具有特定名称的文件从一个文件夹移动到另一个文件夹

使用sudo将文件夹移动到另一个文件夹

将特定子文件夹中的文件移动到另一个子文件夹

批量将特定模式的文件移动到另一个文件夹

将文件从一个文件夹从文本文件的文件名列表移动到另一个文件夹

将整个文件夹从其父文件夹移动到另一个文件夹

Applescript如何将文件从一个文件夹移动到另一个文件夹。无法将整数类型错误

如何在TortoiseSVN中将文件(或文件夹)从一个文件夹移动到另一个文件夹?

Python将文件和目录从一个文件夹移动到另一个文件夹

使用shutil将文件从一个文件夹移动到另一个文件夹时出错

如何将FTP服务器中的CSV文件从一个文件夹移动到另一个文件夹?

IOException同时将文件从一个文件夹移动到另一个文件夹

每5分钟将文件从一个文件夹移动到另一个文件夹的批处理程序

读取文件,然后使用 Powershell 脚本将内容从一个文件夹移动到另一个文件夹

将文件从一个文件夹移动到另一个具有相同名称的文件夹

根据列表将所有文件从一个文件夹移动到另一个文件夹

我已经设置了文件权限,但是我无法将图像从一个文件夹移动到另一个文件夹

在S3中将文件从一个文件夹移动到另一个文件夹

Google云端存储-将文件从一个文件夹移动到另一个文件夹-使用Python

如何将某些类型的文件从一个文件夹移动到另一个文件夹

Powershell将文本文件从一个文件夹移动到另一个文件夹

如何将文件从一个文件夹移动到另一个文件夹?

使用 Node js 将所有 .txt 文件从一个文件夹移动到另一个文件夹

如何使用 Azure Devops 将 azure GIT repos 文件从一个文件夹移动到另一个文件夹

如何将图像从一个文件夹移动到图库中的另一个文件夹

如何将图像从一个文件夹移动到另一个文件夹?

如何将文件从模型文件夹移动到另一个文件夹?