2015-02-06 2 views
1

Я исследовал как можно лучше на эту тему, и я не могу найти способ переключения сигнатуры по умолчанию программно через VBA.Настройка подписи по умолчанию через VBA

Я хотел был бы иметь возможность установить подпись по умолчанию в зависимости от того, в какой день недели (я работаю в двух разных местах). Когда Outlook запускается, я хотел бы, чтобы он менял подпись по умолчанию на тот, который я указываю.

Я начинаю думать, что это невозможно вообще.

ответ

0

Объектная модель Outlook не предоставляет anythyng для подписей. Но вы можете отредактировать тело сообщения во время выполнения, используя макросы VBA.

Перспективы объектной модели предусматривает три основных способа для работы с товаром органов:

  1. Body - строка, представляющая незашифрованным тело элемента Outlook.
  2. HTMLBody - строка, представляющая тело HTML указанного элемента.
  3. Word editor - Объектная модель документа Microsoft Word отображаемого сообщения. Свойство WordEditor класса Inspector возвращает экземпляр класса Document из объектной модели Word, который вы можете использовать для настройки тела сообщения.

Подробнее об этих способах можно узнать в Chapter 17: Working with Item Bodies. Это нас к тому, что вам нужно, чтобы настроить подпись в теле сообщения.

P.S. Если вы меняете учетные записи в Outlook, подписи также меняются. Вы можете рассмотреть возможность назначения разных подписей для каждой учетной записи в Outlook.

+0

Проблема у меня есть то, что у меня только 1 учетная запись. Но требуются разные подписи в зависимости от того, в каком месте я работаю. Другая проблема, с которой я столкнулась, - это мои подписи, это изображения, которые, как представляется, переходят в борьбу с использованием VBA. – SilverShotBee

0

Перспективные подписи устанавливаются для каждой учетной записи в данных профиля (хранятся в реестре). Вы можете увидеть данные в OutlookSpy - нажмите кнопку IOlkAccountManager и дважды щелкните по учетной записи.

IOlkAccountManager можно получить доступ только на C++ или Delphi. Если опция Redemption является опцией (она может использоваться с любого языка, включая VBA или .Net), она предоставляет свойства .ReplySignature и NewMessageSignature.

+0

http://vba-corner.livejournal.com/3054.html Можно редактировать реестр из VBA, поэтому вы могли бы теоретически манипулировать сигнатурой таким образом, хотя вам нужно быть очень осторожным. Вот ссылка на ключи к цели. https://ifnotisnull.wordpress.com/automated-outlook-signatures-vbscript/configuring-outlook-for-the-signatures-within-users-registry/ –

+0

Ключи реестра (профили раздела профиля) генерируются динамически для каждой учетной записи. –

+0

Полезно знать. Я предполагаю, что он все еще может перебирать их и найти тот, на котором он был, но это не задача для кого-то, кто не совсем уверен в том, что вы можете и не можете сделать с реестром. –

Смежные вопросы