如何创建脚本以将收件箱中当前活动的电子邮件移动到Outlook 2007中的另一个文件夹

Ken*_*eng 3 outlook vba outlook-vba outlook-2007

我有时会收到我想保留的电子邮件,但是将它们移动到相应的文件夹中可能会很麻烦.我怎样才能执行一个脚本,将我正在查看的电子邮件(如使用CSv)移动到一个名为"缓冲区"的特定文件夹中?

我正在使用Outlook 2007.

谢谢.


编辑:没有任何标准可以像通过规则那样自动化这个过程.它只是我在盯着它时做出的判断.

Jim*_*ena 5

此代码可能更好.

在您的代码中,objFolder可能等于Nothing,但您继续执行该过程.此外,For Each循环假定每个项目都是邮件项目.

Sub MoveSelectedMessagesToFolder()
  Dim objNS As Outlook.NameSpace
  Dim objFolder As Outlook.MAPIFolder
  Dim obj As Object
  Dim msg As Outlook.mailItem

  Set objNS = Application.GetNamespace("MAPI")
  On Error Resume Next
  Set objFolder = objNS.Folders.item("Personal Folders").Folders.item("Buffer")
  On Error GoTo 0

  If objFolder Is Nothing Then
    MsgBox "This folder doesn't exist!", vbOKOnly + vbExclamation, "INVALID FOLDER"
    Exit Sub
  End If

  For Each obj In ActiveExplorer.Selection
    If TypeName(obj) = "MailItem" Then
      Set msg = obj
      msg.Move objFolder
    End If
  Next obj

End Sub
Run Code Online (Sandbox Code Playgroud)