Переслать выделенное письмо конкретному получателю - PullRequest
0 голосов
/ 16 декабря 2011

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

Возможно ли связать это с сочетанием клавиш CTRL-ALT?

Я на Windows 7, Outlook 2010

Ответы [ 2 ]

1 голос
/ 24 июля 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
1 голос
/ 21 декабря 2011

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

Этот макрос будет пересылать все выбранные элементы.Если вы хотите убедиться, что выбран только один элемент, протестируйте 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 "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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...