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 ничего подходящего не вижу.
Если сделать "Изменить сообщение" руками - то приведенный код работает.
Подскажите, плиз!
Подскажите, плиз, как открыть сообщение (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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д