我想要 Outlook 2010 的 VBA 宏代码将我的经理请求邮件从我的收件箱移动到另一个文件夹,以防我回复。
问问题
184 次
2 回答
1
下面的代码就是答案。感谢格雷厄姆市长 www.gmayor.com
它在默认收件箱中检查来自 strAddress 的消息,并将已回复的消息移动到定义为 strFolder 的收件箱的子文件夹 - 这里是“测试”。
如果要检查所有消息,请删除标记为 ' *的行
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
最好的问候 =)
于 2013-10-28T08:09:40.097 回答
1
正如@Bathsheba 提到的,规则确实是最好的解决方案。或者,如果您必须制作 VBA 宏,我建议您录制一个宏,然后根据需要在 VBA 编辑器中进行编辑:
1. 单击工具、宏。
2.录制宏。
于 2013-09-10T12:02:33.487 回答