我在上午(上午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
谢谢你的帮助
对之前的回答进行了小的更新。
Set ns = application.GetNamespace("MAPI")
set targetFolder = ns.Folders("Mailboxname").Folders("Foldername")
oItem.Move targetFolder
这也涵盖了你有多个邮箱的情况。
首先,我建议你在附件的调试器下运行代码。这样,你就能明白你的代码有什么问题。
但是,我会从以下一行代码开始,将每个属性或方法的调用单独声明一行。
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)