Outlook标记电子邮件并将其移动到文件夹

时间:2014-10-26 20:45:10

标签: vba email outlook outlook-vba

是否有一个脚本可以让我在Outlook中标记一封电子邮件,然后自动将其移动到一个文件夹?

我发现以下内容会复制所选的电子邮件并移动它,但我也需要它来标记它;

Outlook VB Macro to move selected mail item(s) to a target folder
Sub MoveToFiled()
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
Set moveToFolder = ns.Folders("Mailbox - Jim Merrell").Folders("@Filed")

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

干杯, 史蒂芬

1 个答案:

答案 0 :(得分:0)

最后,下一行应该完成工作:

    mail.FlagRequest = "text you need"

或者如果您还想设置提醒等,请使用此

Sub flag_the_mail(mail As mailitem, flagre as string, tm As String)
On Error GoTo ende
        mail.MarkAsTask olMarkNoDate
        mail.FlagRequest = flagre 
    If tm <> "00:00:00 09:00" Then
        mail.TaskStartDate = tm
        mail.TaskDueDate = tm
        mail.ReminderSet = True
        mail.ReminderTime = tm
    Else
        mail.TaskStartDate = "01.01.4501"
        mail.TaskDueDate = "01.01.4501"
        mail.ReminderSet = False
        mail.ReminderTime = "00:00:00"
    End If
        mail.Save
ende:
If Err.Number <> 0 Then MsgBox ("Fehler in 'Kennzeichensetzen': " & Err.Number & " - " & Err.Description)
End Sub

tm - 这是日期 - 来自此处的文字,例如&#34; 03.11.2014 09:00&#34;

我希望这有帮助,

最高