Скрыть кнопку «Отправить» в Outlook 2013

У меня есть плагин Outlook, который открывает всплывающее окно после того, как пользователь нажимает кнопку «Отправить». В этом окне пользователь выбирает отправителя электронной почты. Поэтому я использую событие «ItemSend», и если я изменяю свойство «SendOnBehalf» внутри этого события, Outlook просто перезаписывает мои изменения, поэтому я должен сделать это до «ItemSend». Я нашел только одно событие до «ItemSend», это «BeforeCheckNames», но я не могу не использую его, потому что мое всплывающее окно открывается много раз. Итак, моя последняя идея, возможно, я могу скрыть стандартную кнопку «Отправить» и поместить свою кнопку для отправки электронной почты, чем я могу внести свои изменения и после этого сказать, что email.Send(). Я обнаружил, что этот вопрос был задан до замены Outlook 2010 Send-Button? но ответа нет. Может быть, у вас есть идеи? Спасибо за помощь


person masta    schedule 08.07.2015    source источник


Ответы (3)


Нет, кнопку «Отправить» нельзя скрыть. Почему бы не добавить поле со списком на ленту и позволить пользователю указать отправителя перед отправкой? Вы можете установить SendOnBehalf, как только пользователь выберет значение из поля со списком.

person Dmitry Streblechenko    schedule 08.07.2015

В качестве альтернативы вы можете изменить свой код ItemSend. SentOnBehalfOfName будет привязан к скопированному элементу.

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

Dim copiedItem As MailItem

If Item.Class = olMail Then

    Set copiedItem = Item.Copy

    copiedItem.SentOnBehalfOfName = "[email protected]"
    'copiedItem.Display
    copiedItem.Send

    Item.Delete
    Cancel = True

End If

    Set copiedItem = Nothing

End Sub
person niton    schedule 08.07.2015
comment
Обработчик события ItemSend будет вызываться рекурсивно... Каждый раз, когда вы вызываете метод Send, поэтому в основном нам нужно сначала проверить значение свойства. И только если он не имеет никакого значения, мы можем установить его. - person Eugene Astafiev; 08.07.2015
comment
@Юджин. Если есть рекурсия, но она не рекурсивна для меня. - person niton; 08.07.2015

Другой вариант — использовать типы областей формы «Замена» или «Заменить все», которые позволяют полностью заменить стандартную форму.

  • Замена — добавляет область формы в качестве новой страницы, которая заменяет стандартную страницу формы Outlook.
  • Заменить все — заменяет всю форму Outlook областью формы.

Дополнительные сведения см. в разделе Создание областей формы Outlook. .

person Eugene Astafiev    schedule 08.07.2015