将我的回复移动到另一个文件夹

时间:2013-09-10 11:40:15

标签: outlook-2010 outlook-vba

我希望Outlook 2010的VBA宏代码将我的经理请求邮件从我的收件箱移动到另一个文件夹,以防我回复。

2 个答案:

答案 0 :(得分:1)

正如@Bathsheba所说,规则确实是最好的解决方案。或者,如果你必须做一个VBA宏,我建议录制一个宏,然后根据需要在VBA编辑器中编辑:
1.单击工具
2.记录宏。

答案 1 :(得分:1)

以下代码就是答案。感谢Graham Mayor www.gmayor.com

它检查来自默认收件箱中strAddress的邮件,并将已回复的邮件移动到定义为strFolder的Inbox子文件夹 - 此处为'Test'。

如果您要查看所有邮件,请删除标有“ *

”的行
Sub MoveReplied()
Dim olItems As Outlook.Items
Dim olItem As Outlook.MailItem
Dim i As Long
Dim strFolder As String
Dim strAddress As String
    strAddress = "someoneATsomewhere.com"
    strFolder = "Test"

    Set olItems = Session.GetDefaultFolder(olFolderInbox).Items
    olItems.Sort "[Received]", True
    For i = olItems.Count To 1 Step -1
        Set olItem = olItems(i)
        If olItem.SenderEmailAddress = strAddress Then '*****
            If Not olItem.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x10810003") = 0 Then
                olItem.Move Session.GetDefaultFolder(olFolderInbox).folders(strFolder)
            End If
        End If '*****
    Next i
Cleanup:
    Set olItems = Nothing
    Set olItem = Nothing
End Sub

最好的问候=)