MailItem.Forward Event (Outlook)

Office 2013 and later

Contribute to this content

Use GitHub to suggest and submit changes. See our guidelines for contributing to VBA documentation.

Occurs when the user selects the Forward action for an item, or when the Forward method is called for the item, which is an instance of the parent object.

expression .Forward(Forward, Cancel)

expression A variable that represents a MailItem object.




Data Type





The new item being forwarded.




(Not used in Microsoft Visual Basic Scripting Edition (VBScript).) False when the event occurs. If the event procedure sets this argument to True, the forward operation is not completed and the new item is not displayed.

In VBScript, if you set the return value of this function to False, the forward action is not completed and the new item is not displayed.

This Microsoft Visual Basic for Applications (VBA) example uses the Forward event to disable forwarding on an item that has the subject "Do not forward" by setting the Cancel argument to True and it also displays a message that the item may not be forwarded. The sample code must be placed in a class module such as ThisOutlookSession, and the Initialize_Handler() routine should be called before the event procedure can be called by Microsoft Outlook. A e-mail item must be open when you run Initialize_Handler().

Public WithEvents myItem As Outlook.MailItem 
Public Sub Initialize_Handler() 
 Set myItem = Application.ActiveInspector.CurrentItem 
End Sub 
Private Sub myItem_Forward(ByVal Forward As Object, Cancel As Boolean) 
 If myItem.Subject = "Do not forward" Then 
 MsgBox "You may not forward this message!" 
 Cancel = True 
 End If 
End Sub