Переслать выделенное электронное письмо определенному получателю

Как переслать выделенное письмо определенному получателю?

Можно ли связать это с ярлыком CTRL-ALT?

У меня Windows 7, Outlook 2010.


person eurekaent    schedule 16.12.2011    source источник


Ответы (2)


Ctrl+Alt не является функцией Outlook 2003, поэтому я не могу это комментировать. Я могу запустить следующий макрос, добавив макрос на панель инструментов, используя Инструменты, Настройка.

Этот макрос пересылает все выбранные элементы. Если вы хотите убедиться, что выбран только один элемент, проверьте SelectedItems.Count. Если текущая папка пуста, ничего не происходит, потому что 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 "[email protected]"
      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
person Tony Dallimore    schedule 21.12.2011
comment
@eurekaent. Был ли этот ответ удовлетворительным? Если нет, то каким образом он не соответствовал вашим требованиям? - person Tony Dallimore; 04.01.2012

Переслать выделенное электронное письмо определенному получателю

Вернуть выделенное в данный момент электронное письмо:

GetCurrentItem вернет текущее выбранное или открытое электронное письмо вызывающей процедуре.

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

Переслать выбранное письмо:

Это использует вышеуказанные функции для пересылки и отображения электронной почты. Остальное зависит от тебя.

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
person JimmyPena    schedule 24.07.2012