0

How do I forward a highlighted email to a specific recipient?

Is it possible to link that to a CTRL-ALT- shortcut?

I'm on Windows 7, Outlook 2010

Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343
eurekaent
  • 9
  • 2

2 Answers2

1

Forward a highlighted email to a specific recipient

Return the currently highlighted email:

GetCurrentItem will return the currently selected or opened email to the calling procedure.

Function GetCurrentItem() As Object
' returns reference to current item, either the one
' selected (Explorer), or the one currently open (Inspector)

  Select Case True
  Case IsExplorer(Application.ActiveWindow)
    Set GetCurrentItem = ActiveExplorer.Selection.item(1)
  Case IsInspector(Application.ActiveWindow)
    Set GetCurrentItem = ActiveInspector.CurrentItem
  End Select

End Function
Function IsExplorer(itm As Object) As Boolean
  IsExplorer = (TypeName(itm) = "Explorer")
End Function
Function IsInspector(itm As Object) As Boolean
  IsInspector = (TypeName(itm) = "Inspector")
End Function

Forward the selected email:

This uses the above functions to forward and display an email. The rest is up to you.

Sub FwdMail()

Dim obj As Object
Dim msg As Outlook.MailItem

Set obj = GetCurrentItem

If TypeName(obj) = "MailItem" Then
  Set msg = obj
  With msg
    .Forward
    .Display
  End With
End If

End Sub
JimmyPena
  • 8,694
  • 6
  • 43
  • 64
1

Ctrl+Alt does not appear to be a feature of Outlook 2003 so I cannot comment on it. I can run the following macro by adding the macro to a toolbar using Tools, Customise.

This macro will forward all selected items. If you want to ensure only one item is selected, test SelectedItems.Count. If the current folder is empty, nothing happens because SelectedItems.Count = 0

Sub ForwardSelectedItems()

  Dim Inx As Integer
  Dim NewItem As MailItem
  Dim SelectedItems As Outlook.Selection

  Set SelectedItems = ActiveExplorer.Selection

  For Inx = 1 To SelectedItems.Count
    Set NewItem = SelectedItems.Item(Inx).Forward
    With NewItem
      ' ##########   Remove following block if attachments are to be sent.
      ' Delete any attachments.
      With .Attachments
        While .Count > 0
          .Remove 1
        Wend
      End With
      ' ##########   Remove above block if attachments are to be sent.
      With .Recipients
      ' Add new recipient.  Note Forward deletes existing recipients.
        .Add "my.friend@isp.com"
      End With
      ' Choices   ######
      '.Display           ' Show to user and let them send if they wish
      .Send               ' Send automatically without showing to user
      ' End of choices  ######
    End With
  Next

End Sub
Tony Dallimore
  • 12,335
  • 7
  • 32
  • 61