将下午收到的邮件转移到另一个文件夹中。

问题描述 投票:0回答:2

我在上午(上午10点)和下午(下午15点-16点)收到电子邮件提醒,(相同的发件人,相同的电子邮件对象).我想通过 "运行脚本 "规则将下午的提醒移动到不同的文件夹.我试过这个脚本,但没有工作。

Sub MovebyTime(oItem As Outlook.MailItem)
    With oItem
        If Format(oItem.ReceivedTime, "h") >= 15 And _
           Format(oItem.ReceivedTime, "h") < 16 Then
            .Move Session.GetDefaultFolder(olFolderInbox).folders("Foldername")
        End If
    End With
End Sub

谢谢你的帮助

vba email outlook rules
2个回答
0
投票

对之前的回答进行了小的更新。

 Set ns = application.GetNamespace("MAPI")
 set targetFolder = ns.Folders("Mailboxname").Folders("Foldername")
 oItem.Move targetFolder

这也涵盖了你有多个邮箱的情况。


0
投票

首先,我建议你在附件的调试器下运行代码。这样,你就能明白你的代码有什么问题。

但是,我会从以下一行代码开始,将每个属性或方法的调用单独声明一行。

Session.GetDefaultFolder(olFolderInbox).folders("Foldername")

比较:

Dim inbox as Outlook.Folder
Dim targetFolder as Outlook.Folder

Set inbox = Session.GetDefaultFolder(olFolderInbox)
Set targetFolder = ns.folders("Foldername")

oItem.Move(targetFolder)
© www.soinside.com 2019 - 2024. All rights reserved.