我编辑了一个我在网上找到的脚本,将电子邮件移动到各种文件夹。
我想更进一步将电子邮件移动到单独的 PST 文件中的文件夹中。
这将在 Outlook 2007 中运行。
该宏源于这个名为“更新”的宏,是更简洁的版本:http:
//jmerrell.com/2011/05/21/outlook-macros-move-email
我几乎可以肯定此链接包含线索,但我没有正确应用它的经验:
http ://www.slipstick.com/developer/working-vba-nondefault-outlook-folders/
我当前的宏允许将电子邮件移动到 PST 主“收件箱”文件夹中的 3 个不同文件夹位置。
'Outlook VB Macro to move selected mail item(s) to a target folder
Sub MoveToFolder(targetFolder)
On Error Resume Next
Dim ns As Outlook.NameSpace
Dim MoveToFolder As Outlook.MAPIFolder
Dim objItem As Outlook.MailItem
Set ns = Application.GetNamespace("MAPI")
'define path to the target folder; the following assumes the target folder
'is a sub-folder of the main Mailbox folder
'This is the original'
'Set MoveToFolder = ns.Folders("Mailbox").Folders(targetFolder)'
Set MoveToFolder = ns.GetDefaultFolder(olFolderInbox).Folders(targetFolder)
If Application.ActiveExplorer.Selection.Count = 0 Then
MsgBox ("No item selected")
Exit Sub
End If
If MoveToFolder Is Nothing Then
MsgBox "Target folder not found!", vbOKOnly + vbExclamation, "Move Macro Error"
End If
For Each objItem In Application.ActiveExplorer.Selection
If MoveToFolder.DefaultItemType = olMailItem Then
If objItem.Class = olMail Then
objItem.Move MoveToFolder
End If
End If
Next
Set objItem = Nothing
Set MoveToFolder = Nothing
Set ns = Nothing
End Sub
Sub MoveToActive()
MoveToFolder ("Active")
End Sub
Sub MoveToAction()
MoveToFolder ("Action")
End Sub
Sub MoveToOnHold()
MoveToFolder ("OnHold")
End Sub
如何配置第四个选项以将电子邮件移动到不同 PST 中的文件夹?
例如,我想添加一个名为“存档”的额外按钮,当单击此特定按钮时,它会将电子邮件移动到单独的 PST 收件箱中的存档文件夹中。
Sub MoveToArchive()
MoveToFolder ("Archive")
End Sub