Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как перенаправить(Redirect) активное сообщение - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Outlook » Как перенаправить(Redirect) активное сообщение (Redirect)
Как перенаправить(Redirect) активное сообщение
SLAVICK Дата: Пятница, 30.03.2018, 12:16 | Сообщение № 1
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Всем привет.
Бывают случаи, когда нужно перенаправить полученное сообщение другому адресату.
Именно Перенаправить(Redirect), а не переслать(Forward).
Чтобы отправитель светился - тот который отправил сообщение, а не я.

В TheBat для этого есть спец. кнопка "Перенаправить", а в Outlook - такой кнопки нет.

Попробовал сделать макрос для Redirect .
[vba]
Код
Sub RedirectEmail()
'works in Outlook 2013/2016
  Dim myItem As Outlook.MailItem
  Dim objInsp As Outlook.Inspector
  Dim objActionsMenu As Office.CommandBarControl
  Dim olResendMsg As Outlook.MailItem

  ' get current item & open if needed
  On Error Resume Next
  
  Select Case TypeName(Application.ActiveWindow)
    Case "Explorer"
   Set myItem = Application.ActiveExplorer.Selection.Item(1)
   myItem.Display
    Case "Inspector"
      Set myItem = Application.ActiveInspector.currentItem
    Case Else
  End Select
  On Error GoTo 0
  
  If myItem Is Nothing Then
    MsgBox "Could not use current item. Please select or open a single email.", _
       vbInformation
    GoTo exitproc
  End If
  
  
    
' run the resend command
    Set objInsp = myItem.GetInspector
    objInsp.CommandBars.ExecuteMso ("ResendThisMessage")
    
    

Set olResendMsg = Application.ActiveInspector.currentItem

' update fields if needed
olResendMsg.Subject = myItem.Subject & " (resend)"
'olResendMsg.Send

  ' close orig email
  myItem.Close olDiscard

exitproc:
Set myItem = Nothing
Set objInsp = Nothing
Set objActionsMenu = Nothing
Set olResendMsg = Nothing
End Sub
[/vba]
Вроде и работает:
Создает сообщение - с нужным отправителем... НО отправить не выходит - вылазит сообщение
Цитата
"У Вас нет прав для отправки сообщения вместо указанного пользователя"


Что интересно перенаправка сообщения с использованием правила - проходит без проблем.
Но такой вариант подходит если нужно перенаправлять постоянно пистьма по правилу. А тут вопрос как отправить именно интересующее уже полученное.
Думаю может какое то свойство нужно поменять, чтоб оно отправилось - только вот какое?
Или другой вариант создать макросом правило - запустить - убить. Но это как то очень длинный и "костыльный" путь. Может кто знает короткий?


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеВсем привет.
Бывают случаи, когда нужно перенаправить полученное сообщение другому адресату.
Именно Перенаправить(Redirect), а не переслать(Forward).
Чтобы отправитель светился - тот который отправил сообщение, а не я.

В TheBat для этого есть спец. кнопка "Перенаправить", а в Outlook - такой кнопки нет.

Попробовал сделать макрос для Redirect .
[vba]
Код
Sub RedirectEmail()
'works in Outlook 2013/2016
  Dim myItem As Outlook.MailItem
  Dim objInsp As Outlook.Inspector
  Dim objActionsMenu As Office.CommandBarControl
  Dim olResendMsg As Outlook.MailItem

  ' get current item & open if needed
  On Error Resume Next
  
  Select Case TypeName(Application.ActiveWindow)
    Case "Explorer"
   Set myItem = Application.ActiveExplorer.Selection.Item(1)
   myItem.Display
    Case "Inspector"
      Set myItem = Application.ActiveInspector.currentItem
    Case Else
  End Select
  On Error GoTo 0
  
  If myItem Is Nothing Then
    MsgBox "Could not use current item. Please select or open a single email.", _
       vbInformation
    GoTo exitproc
  End If
  
  
    
' run the resend command
    Set objInsp = myItem.GetInspector
    objInsp.CommandBars.ExecuteMso ("ResendThisMessage")
    
    

Set olResendMsg = Application.ActiveInspector.currentItem

' update fields if needed
olResendMsg.Subject = myItem.Subject & " (resend)"
'olResendMsg.Send

  ' close orig email
  myItem.Close olDiscard

exitproc:
Set myItem = Nothing
Set objInsp = Nothing
Set objActionsMenu = Nothing
Set olResendMsg = Nothing
End Sub
[/vba]
Вроде и работает:
Создает сообщение - с нужным отправителем... НО отправить не выходит - вылазит сообщение
Цитата
"У Вас нет прав для отправки сообщения вместо указанного пользователя"


Что интересно перенаправка сообщения с использованием правила - проходит без проблем.
Но такой вариант подходит если нужно перенаправлять постоянно пистьма по правилу. А тут вопрос как отправить именно интересующее уже полученное.
Думаю может какое то свойство нужно поменять, чтоб оно отправилось - только вот какое?
Или другой вариант создать макросом правило - запустить - убить. Но это как то очень длинный и "костыльный" путь. Может кто знает короткий?

Автор - SLAVICK
Дата добавления - 30.03.2018 в 12:16
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Outlook » Как перенаправить(Redirect) активное сообщение (Redirect)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!