Move Method

Microsoft Outlook Visual Basic

Moves a Microsoft Outlook item to a new folder.

expression.Move(DestFldr)

expression    Required. An expression that returns one of the objects in the Applies To list.

DestFldr    Required. An expression that returns a MAPIFolder object. The destination folder.

Example

This Visual Basic for Applications (VBA) example uses GetDefaultFolder to return the MAPIFolder object that represents the default folder. It then uses the Find and FindNext methods to find all messages sent by Dan Wilson and uses the Move method to move all e-mail messages sent by Dan Wilson from the default Inbox folder to the Personal Mail folder. To run this example without any errors, replace 'Dan Wilson' with a vaid sender name and make sure there's a folder under Inbox called 'Personal Mail'. Note that myItem is declared as type Object so that it can represent all types of Outlook items including meeting request and task request items.

Sub MoveItems()
	Dim myOlApp As New Outlook.Application
	Dim myNameSpace As Outlook.NameSpace
	Dim myInbox As Outlook.MAPIFolder
	Dim myDestFolder As Outlook.MAPIFolder
	Dim myItems As Outlook.Items
	Dim myItem As Object
	Set myNameSpace = myOlApp.GetNamespace("MAPI")
	Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
	Set myItems = myInbox.Items
	Set myDestFolder = myInbox.Folders("Personal Mail")
	Set myItem = myItems.Find("[SenderName] = 'Dan Wilson'")
	While TypeName(myItem) <> "Nothing"
		myItem.Move myDestFolder
		Set myItem = myItems.FindNext
	Wend
End Sub
		

If you use Microsoft Visual Basic Scripting Edition (VBScript) in a Microsoft Outlook form, you do not create the Application object, and you cannot use named constants. This example shows how to perform the same task using VBScript code.

Set myNameSpace = Application.GetNameSpace("MAPI")
Set myInbox = myNameSpace.GetDefaultFolder(6)
Set myItems = myInbox.Items
Set myDestFolder = myInbox.Folders("Personal Mail")
Set myItem = myItems.Find("[SenderName] = 'Dan Wilson'")
While TypeName(myItem) <> "Nothing"
    myItem.Move myDestFolder
    Set myItem = myItems.FindNext
Wend