VBA Outlook: Как открыть сообщение для редактирования через объектную модель Word?

Узнай цену своей работы

Формулировка задачи:

Добрый день!
Подскажите, плиз, как открыть сообщение (MailItem) для редактирования через объектную модель Word (через свойство Inspector.WordEditor)?
(сообщение не новое - а старое, полученное или уже отосланное)
Outlook 2010.
Руками это делается в окне чтения сообщения в ленте через Сообщение - (Переместить) - Действия - Изменить сообщение. А как это сделать программно?
В приведенном ниже коде попытка wdRange.InsertAfter - приводит к ошибке "Run-time error '4605': Метод или свойство недоступны, поскольку документ заблокирован для редактирования."
Посмотрел, в wdDoc.ProtectionType стоит "wdAllowOnlyReading". А если вручную открыть на редактирование - то "wdNoProtection".
Но попытка сделать wdDoc.Unprotect приводит к ошибке "Run-time error '4605': Данная команда недоступна."
В свойствах MailItem или Inspector ничего подходящего не вижу.
Если сделать "Изменить сообщение" руками - то приведенный код работает.
Подскажите, плиз!

Решение задачи: «VBA Outlook: Как открыть сообщение для редактирования через объектную модель Word?»

textual
Листинг программы
Sub Test()
  
  Dim x As CommandBarControl
  
  ' Открыть инспектор Outlook для выбранного сообщения
  ActiveExplorer.Selection.Item(1).GetInspector.Activate
  
  ' Подсмотреть ID для меню [&Правка]
  For Each x In Application.ActiveInspector.CommandBars("Menu Bar").Controls
    Debug.Print x.Caption, x.ID
  Next
  ' [&Правка] ID=30003
  
  ' Теперь подсмотреть ID для [Изменить &сообщение]
  For Each x In Application.ActiveInspector.CommandBars("Menu Bar").FindControl(ID:=30003).Controls
    Debug.Print x.Caption, x.ID
  Next
  ' [Изменить &сообщение] ID=5604
  
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы