Reputation: 2635
I move email from my inbox to the test folder.
How do I add more sender names?
Instead of moving just 'ABC Sprockets', move 'DFG Widgets' and 'XYZ Zippers' as well in one script.
Sub MoveItems()
Dim myNameSpace As Outlook.NameSpace
Dim myInbox As Outlook.Folder
Dim myDestFolder As Outlook.Folder
Dim myItems As Outlook.Items
Dim myItem As Object
Set myNameSpace = Application.GetNamespace("MAPI")
Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myItems = myInbox.Items
Set myDestFolder = myInbox.Folders("test")
Set myItem = myItems.Find("[SenderName] = 'ABC Sprockets'")
While TypeName(myItem) <> "Nothing"
myItem.Move myDestFolder
Set myItem = myItems.FindNext
Wend
End Sub
Upvotes: 0
Views: 249
Reputation: 49397
You need to specify every condition in the search string explicitly:
Set myItem = myItems.Find("[SenderName] = 'ABC Sprockets' OR [SenderName] = 'DFG Widgets' OR [SenderName] = 'XYZ Zippers'")
Upvotes: 1
Reputation: 3777
I can't test it because I don't have Outlook on my home computer but I recommend looping through an Array of Strings that contains your search terms:
Sub MoveItems()
Dim myNameSpace As Outlook.Namespace
Dim myInbox As Outlook.Folder
Dim myDestFolder As Outlook.Folder
Dim myItems As Outlook.Items
Dim myItem As Object
Set myNameSpace = Application.GetNamespace("MAPI")
Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myItems = myInbox.Items
Set myDestFolder = myInbox.Folders("test")
Dim varSearchTerm As Variant: For Each varSearchTerm In Array("ABC Sprockets", "DFG Widgets", "XYZ Zippers")
Set myItem = myItems.Find("[SenderName] = '" & varSearchTerm & "'")
While TypeName(myItem) <> "Nothing"
myItem.Move myDestFolder
Set myItem = myItems.FindNext
Wend
Next
End Sub
You may also move the enumeration of your search terms like this:
Dim varSearchTerms As Variant: varSearchTerms = Array("ABC Sprockets", "DFG Widgets", "XYZ Zippers")
' ...
Dim varSearchTerm As Variant: For Each varSearchTerm In varSearchTerms
Set myItem = myItems.Find("[SenderName] = '" & varSearchTerm & "'")
' ...
Next
Upvotes: 1