Ответ - нет. Вам нужно придумать какое-то нестандартное решение или поискать стороннее приложение, чтобы помочь. Я немного огляделся и не нашел решения, которое бы порекомендовал. Другим способом было бы взглянуть на более мелкие инструменты маркетинговой интеграции - они могут позволить вам составлять сообщения и отправлять их с избранными подписями на основе "кампании" - просто назначьте определенных пользователей кампании, и сгенерированные вами сообщения получат нижний колонтитул (или что-то еще) Вы хотите ввести.
Вернуться к возможному варианту кодирования
Здесь есть строка форума, которая может помочь ( https://social.msdn.microsoft.com/Forums/en-US/9cfedfdf-b7a8-442d-96b8-a5cf5a149673/adding-outlook-signature-using-ole-automation? форум = isvvba ).
Они используют ниже, чтобы получить доступ к файлам подписи.
shell = new ActiveXObject("WScript.shell");
user_name = shell.ExpandEnvironmentStrings("%USERNAME%");
fso = new ActiveXObject("Scripting.FileSystemObject");
signatureTextStream = fso.OpenTextFile("C:\\Documents and Settings\\" + user_name + "\\Application Data\\Microsoft\\Signatures\\" + user_name + "." + file_ext, 1);
signatureContents = signatureTextStream.ReadAll();
signatureTextStream.Close();
Если вы объедините это с логикой для чтения получателей - вы сможете получить рабочее решение для себя.
Источник: https://msdn.microsoft.com/en-us/library/office/ff868695.aspx
Sub GetSMTPAddressForRecipients(mail As Outlook.MailItem)
Dim recips As Outlook.Recipients
Dim recip As Outlook.Recipient
Dim pa As Outlook.PropertyAccessor
Const PR_SMTP_ADDRESS As String = _
"http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
Set recips = mail.Recipients
For Each recip In recips
Set pa = recip.PropertyAccessor
Debug.Print recip.name & " SMTP=" _
& pa.GetProperty(PR_SMTP_ADDRESS)
Next
End Sub
Если у меня будет какое-то время - я постараюсь собрать это в рабочее решение, но если кто-то еще опубликует это для вас, это тоже будет здорово. В противном случае, надеюсь, это приведет вас на правильный путь.