In relation to the original question, this comes very late but because I got here looking for the answer, maybe someone else will too.
You can also achieve it by NOT using a rule BUT doing the rule-like action in code, FOR EXAMPLE:
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim mai As Object
Dim strEntryId
For Each strEntryId In Split(EntryIDCollection, ",")
Set mai = Application.Session.GetItemFromID(strEntryId)
If mai.Parent = "Inbox" Then
If mai.SenderEmailAddress = "the-email-address-the-rule-applies-to" Then
mai.Move Application.GetNamespace("MAPI").GetFolderFromID("the-entry-ID-of-the-folder-you-want-to-move-the-message-to")
End If
End If
Set mai = Nothing
Next
End Sub
How to get the FOLDER ID (i.e. entryID of the folder):
this is just a manual way, you could make a recursive procedure but for simple purposes this is fine:
for instance I had a structure like:
Mailbox - My_Name_Here
Inbox
The Subfolder I'm Looking For
Sent Items
...
so in the Immediate window I typed:
? Application.GetNamespace("MAPI").Folders(1) 'increased the number until I got "Mailbox - My_Name_Here"
then ? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(1) 'increased until I got "Inbox"
then ? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(the_number_of_my_Inbox).Folders(1) 'increased until I got "The Subfolder I'm Looking For"
then ? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(the_number_of_my_Inbox).Folders(the_number_of_the_subfolder_i_was_looking_for).EntryID
so there I had it, the entryID of the folder I wanted to move the message to. You get the point, I'm sure :)