Vba вставить подпись в сообщение Outlook

Обновлено: 05.07.2024

Я пишу сценарий VBA в Access, который создает и автоматически заполняет несколько десятков электронных писем. До сих пор это было гладкое кодирование, но я новичок в Outlook. Как после создания объекта mailitem добавить в электронное письмо подпись по умолчанию?

Это будет подпись по умолчанию, которая автоматически добавляется при создании нового электронного письма.

В идеале я хотел бы просто использовать ObjMail.GetDefaultSignature , но не могу найти ничего подобного.

В настоящее время я использую функцию ниже (найденную в Интернете) и ссылаюсь на точный путь и имя файла htm. Но это будет использоваться несколькими людьми, и у них может быть другое имя для файла подписи htm по умолчанию. Итак, это работает, но не идеально:

(Вызывается с помощью getboiler(SigString = "C:\Users\" & Environ("username") & "\AppData\Roaming\Microsoft\Signatures\Mysig.txt"))

Благодаря JP (см. комментарии) я понял, что сначала отображается подпись по умолчанию, но она исчезает, когда я использую HTMLBody для добавления таблицы в электронное письмо. Итак, я думаю, теперь у меня вопрос: как мне отобразить подпись по умолчанию и по-прежнему отображать таблицу html?

Есть ли у вас подпись по умолчанию для новых сообщений? Да, поэтому, когда я создаю сообщение программно, оно автоматически заполняется подписью по умолчанию.

@JP, Да, у меня есть подпись, и она установлена ​​в качестве подписи по умолчанию для новых сообщений в меню "Инструменты". За исключением того, что он не заполняет почтовый объект, когда я создаю его автоматически. Если вы можете сказать мне, как, я слушаю.

Я протестировал это с помощью Outlook.CreateItem(olMailItem).Display в окне Immediate. С подписью по умолчанию сообщение появляется с уже имеющейся подписью. Можете ли вы попробовать тот же тест?

14 ответов 14

Приведенный ниже код создаст сообщение Outlook и сохранит автоподпись


Это почти то, с чем я пошел. Единственная разница в том, что, поскольку тело моего письма — html, я использовал .HTMLbody, а не .body. Просто и понятно.

Спасибо, это сработало и для того, что меня интересовало! Любым будущим пользователям: убедитесь, что вы хотите, чтобы .HTMLbody изменил его в обоих местах.

Спасибо. Я пытаюсь подсчитать количество файлов подписи по умолчанию.. так что это работает. .Display, за которым следуют .Count и .Close, дает мне то, что я хочу, но есть ли способ отобразить скрытый?

Если вы хотите использовать .HTMLbody, это неподходящее решение, поскольку оно создает недопустимый HTML. Подпись (OMail.body) содержит строку, начинающуюся с, поэтому вы не можете просто добавить свой текст перед текстом

@Stefan - просто отметил вас для наглядности; Я полагаю, вы лично знаете это: если вам нужно избавиться от тегов в подписи, чтобы вы могли легко добавить ее в .HTMLbody, просто замените строку настройки подписи на подпись = Mid(OMail.body,6,Len(OMail. Тело)-13) .

Мое решение состоит в том, чтобы сначала отобразить пустое сообщение (с подписью по умолчанию!) и вставить предполагаемый strHTMLBody в существующий HTMLBody .

Если, как сообщает PowerUser, подпись стирается при редактировании HTMLBody, вы можете рассмотреть возможность сохранения содержимого ObjMail.HTMLBody в переменной strTemp сразу после ObjMail.Display и добавления strTemp впоследствии, но в этом нет необходимости.

Вам не нужно отображать сообщение — простой доступ к MailItem.GetInspector для нового сообщения вставит подпись. После того, как у вас есть подпись, вы не должны объединять 2 строки HTML — они должны быть объединены: самый простой способ — вставить ваш HTML-код после первого появления «>», которое следует за «

@DmitryStreblechenko, я пробую Objmail.GetInspecter.Activate, и похоже, что он делает то же самое, что и Objmail.Display . В любом случае он отображает электронную почту (что меня устраивает, так как там не так много создать)

Я ценю, что этот ответ (в отличие от принятого) был достаточно вежливым, чтобы добавить предложение о стратегии, которую использует код, вместо того, чтобы просто бросать вам блок кода без каких-либо объяснений. Конечно, это базовый пример. Но одной фразы было достаточно. А описание стратегии перед тем, как углубиться в код, — это просто хорошее общение и хорошие манеры.

@PowerUser, если вы создаете объект Inspector Dim ObjInspector As Outlook.Inspector , вы можете получить доступ к MailItem.GetInspector, не активируя его: Set ObjInspector = ObjMail.GetInspector . Я думаю, это то, что рекомендует @DmitryStreblechenko. Это предотвращает отображение сообщения электронной почты.

Просто решил поделиться тем, как я этого достиг. Не совсем уверен, что это правильно в смысле определения переменных, но оно маленькое и легко читаемое, что мне и нравится.

Я присоединяю WMBody к .HTMLBody внутри объекта Outlook.Application OLE.

Надеюсь, это кому-нибудь поможет.

Outlook добавляет подпись к новым неизмененным сообщениям (перед этим не следует изменять тело сообщения) при вызове MailItem.Display (что приводит к отображению сообщения на экране) или при доступе к свойству MailItem.GetInspector — вам не нужно ничего делать с возвращенным объектом Inspector, но Outlook заполнит тело сообщения подписью.

После добавления подписи прочитайте свойство HTMLBody и объедините его со строкой HTML, которую вы пытаетесь установить. Обратите внимание, что вы не можете просто объединить 2 строки HTML — строки должны быть объединены. Например. если вы хотите вставить свою строку вверху тела HTML, найдите подстроку ", затем найдите следующее вхождение ">" (это касается элемента с атрибутами), затем вставьте свою строку HTML после этого "> ".

Объектная модель Outlook вообще не предоставляет подписи.

Общее примечание: имя подписи хранится в данных профиля учетной записи, доступных через расширенный интерфейс MAPI IOlkAccountManager. Поскольку этот интерфейс представляет собой расширенный MAPI, к нему можно получить доступ только с помощью C++ или Delphi. Вы можете увидеть интерфейс и его данные в OutlookSpy, если вы нажмете кнопку IOlkAccountManager.
После получения имени подписи вы можете прочитать HTML-файл из файловой системы (имейте в виду, что имя папки (Signatures на английском языке) локализовано.
Также имейте в виду, что если подпись содержит изображений, они также должны быть добавлены к сообщению в качестве вложений, а теги в подписи/теле сообщения должны быть скорректированы так, чтобы атрибут src указывал на вложения, а не на подпапку папки «Подписи», где хранятся изображения.
Это будет вы также несете ответственность за объединение стилей HTML из файла подписи HTML со стилями самого сообщения.

Если использование Redemption является вариантом, вы можете использовать его объект RDOAccount (доступный на любом языке, включая VBA). Имя подписи нового сообщения хранится в свойстве 0x0016001F, подпись ответа — в 0x0017001F. Вы также можете использовать RDOAccount. Свойства ReplySignature и NewSignature.
Redemption также раскрывает RDOSignature. Метод ApplyTo, который принимает указатель на объект RDOMail и вставляет подпись в указанное место, правильно объединяя изображения и стили:

Предположим, вы хотите отправить электронное письмо непосредственно в Excel, как вы можете добавить подпись Outlook по умолчанию в электронное письмо? В этой статье представлены два метода добавления подписи Outlook при отправке электронной почты в Excel.

Вставить подпись в сообщение электронной почты Outlook при отправке с помощью Excel VBA

Например, на листе есть список адресов электронной почты, и вам нужно отправлять электронные письма на все эти адреса в Excel и включать подпись Outlook по умолчанию во все электронные письма. Для этого примените приведенный ниже код VBA.

<р>1. Откройте рабочий лист, содержащий список адресов электронной почты, на которые вы хотите отправить электронное письмо, а затем нажмите клавиши Alt + F11.

<р>2. В открывшемся окне Microsoft Visual Basic для приложений нажмите «Вставить» > «Модуль», а затем скопируйте приведенный ниже код VBA 2 в окно кода модуля.

<р>3. Теперь вам нужно заменить строку .Body в VBA 2 кодом в VBA 1. После этого вырежьте строку .Display и вставьте ее под строку With xMailOut.

VBA 1: шаблон отправки электронной почты с подписью в Excel

VBA 2: отправка электронной почты на адреса электронной почты, указанные в ячейках Excel

Следующий снимок экрана поможет вам легко найти различия после изменения кода VBA.


<р>4. Нажмите клавишу F5, чтобы запустить код. Затем появится окно выбора Kutools for Excel, выберите адреса электронной почты, на которые вы будете отправлять электронные письма, и нажмите OK.


Затем создаются и отображаются электронные письма, отправляемые на определенные адреса. Вы можете видеть, что подпись Outlook по умолчанию добавляется в конец тела сообщения электронной почты.


Советы:


  • 1. Вы можете изменить текст сообщения электронной почты в коде VBA 1 в зависимости от ваших потребностей.
  • 2. Если после запуска кода появится диалоговое окно с предупреждением о том, что тип, определяемый пользователем, не определен, закройте это диалоговое окно, а затем выберите «Инструменты» > «Ссылки» в окне Microsoft Visual Basic для приложений. В открывшемся окне «Ссылки — VBAProject» установите флажок «Библиотека объектов Microsoft Outlook» и нажмите «ОК». Затем снова запустите код.

С легкостью вставляйте подпись Outlook при отправке электронной почты в Excel с помощью замечательного инструмента

Если вы новичок в VBA, здесь настоятельно рекомендуется использовать утилиту отправки электронных писем Kutools for Excel для вас. С помощью этой функции вы можете легко отправлять электронные письма на основе определенных полей в Excel и добавлять к ним подпись Outlook. Пожалуйста, сделайте следующее.

Перед применением Kutools for Excel сначала загрузите и установите его.

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

Вы можете вручную создать список рассылки по мере необходимости или применить функцию "Создать список рассылки", чтобы быстро сделать это.

<р>1. Нажмите Kutools Plus > Создать список рассылки.


<р>2. В диалоговом окне «Создать список рассылки» укажите нужные поля, выберите, куда вывести список, а затем нажмите кнопку «ОК».


<р>3. Теперь образец списка рассылки создан. Поскольку это примерный список, вам нужно изменить поля на определенный необходимый контент. (допускается несколько строк)


<р>4. После этого выберите весь список (включая заголовки), нажмите Kutools Plus > Отправить электронные письма.

<р>5. В диалоговом окне «Отправить электронные письма»:

  • 5.1) Элементы выбранного списка рассылки автоматически помещаются в соответствующие поля;
  • 5.2) Завершите текст письма;
  • 5.3) Установите оба флажка "Отправить электронное письмо через Outlook" и "Использовать параметры подписи Outlook";
  • 5.4) Нажмите кнопку «Отправить». Смотрите скриншот:


Теперь электронные письма отправляются. А подпись Outlook по умолчанию добавляется в конец тела письма.

Если вы хотите получить бесплатную пробную версию (30 дней) этой утилиты, нажмите, чтобы загрузить ее, а затем перейдите к выполнению операции в соответствии с указанными выше шагами.

Статьи по теме:

Отправлять электронную почту на адреса электронной почты, указанные в ячейках Excel
Предположим, у вас есть список адресов электронной почты, и вы хотите отправить сообщение электронной почты на эти адреса электронной почты сразу в Excel. Как этого достичь? В этой статье будут показаны способы отправки электронной почты на несколько адресов электронной почты, указанных в ячейках Excel.

Отправка электронной почты с копированием и вставкой указанного диапазона в текст сообщения электронной почты в Excel
Во многих случаях указанный диапазон содержимого на листе Excel может быть полезен при общении по электронной почте. В этой статье мы представим метод отправки электронного письма с вставкой указанного диапазона в тело электронного письма непосредственно в Excel.

Отправка электронной почты с несколькими вложениями в Excel
В этой статье рассказывается об отправке электронной почты через Outlook с несколькими вложениями в Excel.

Отправить электронное письмо, если в Excel наступил срок выполнения
Например, если срок выполнения в столбце C меньше или равен 7 дням (текущая дата – 13 сентября 2017 г.), отправьте электронное письмо напоминание указанному получателю в столбце A с указанным содержанием в столбце B. Как этого добиться? В этой статье подробно описан метод VBA для решения этой проблемы.

Автоматически отправлять электронную почту на основе значения ячейки в Excel
Предположим, вы хотите отправить электронное письмо через Outlook определенному получателю на основе указанного значения ячейки в Excel. Например, когда значение ячейки D7 на листе больше 200, электронное письмо создается автоматически. В этой статье представлен метод VBA, позволяющий быстро решить эту проблему.

Лучшие инструменты для повышения производительности в офисе

Kutools for Excel решает большинство ваших проблем и повышает вашу производительность на 80%

  • Повторное использование: быстро вставляйте сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки паролем; Создайте список рассылки и отправляйте электронные письма.
  • Панель суперформул (легкое редактирование нескольких строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон .
  • Объединение ячеек/строк/столбцов без потери данных; Содержимое разделенных ячеек; Объединить повторяющиеся строки/столбцы. Предотвратить дублирование ячеек; Сравните диапазоны .
  • Выберите повторяющиеся или уникальные строки; Выберите пустые строки (все ячейки пусты); Super Find и Fuzzy Find во многих книгах; Случайный выбор.
  • Точное копирование нескольких ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставьте маркеры, флажки и т. д.
  • Извлечь текст, добавить текст, удалить по положению, удалить пробел; Создать и распечатать пейджинговые промежуточные итоги; Преобразование между содержимым ячеек и комментариями .
  • Суперфильтр (сохранение и применение схем фильтров к другим листам); Расширенная сортировка по месяцам/неделям/дням, частоте и т. д.; Специальный фильтр: полужирный, курсив.
  • Объединение рабочих книг и рабочих листов; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF .
  • Более 300 мощных функций . Поддерживает Office/Excel 2007-2019 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

Вкладка Office обеспечивает интерфейс с вкладками в Office и значительно упрощает вашу работу

  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint , Publisher, Access, Visio и Project.
  • Открывать и создавать несколько документов на новых вкладках того же окна, а не в новых окнах.
  • Повышает вашу производительность на 50 % и сокращает количество кликов мышью каждый день!
Вы гость
или опубликуйте как гость, но ваше сообщение не будет опубликовано автоматически.

Я пытаюсь отправить отдельные листы из Excel по разным электронным письмам, но прикрепляется только сама книга. Кроме того, нужно иметь возможность добавить свою строку подписи. Любая помощь?

Затемнить emailApplication как объект
Затемнить emailItem как объект

Set emailApplication = CreateObject("Outlook.Application")
Set emailItem = emailApplication.CreateItem(0)

' Теперь создадим электронное письмо.

emailItem.Subject = "Невозвращенное техническое оборудование"

emailItem.Body = "В прикрепленной таблице указаны невозвращенные товары в вашем регионе"

'Прикрепить текущую книгу
emailItem.Attachments.Add ActiveWorkbook.FullName

'Прикрепить любой файл с вашего компьютера.
'emailItem.Attachments.Add ("C:\. )"

'Отправить письмо
'emailItem.send

'Отобразить электронное письмо, чтобы пользователь мог изменить его по своему усмотрению перед отправкой
emailItem.Display

Set emailItem = Nothing
Set emailApplication = Nothing

Предоставленный вами код был изменен. Теперь подпись Outlook можно вставить в тело сообщения. Пожалуйста, попробуйте. Спасибо.

Sub AST_Email_From_Excel() 'Обновлено Extendoffice 20220211 Dim emailApplication As Object Dim emailItem As Object Set emailApplication = CreateObject("Outlook.Application") Set emailItem = emailApplication.CreateItem(0) ' Теперь создадим электронное письмо. emailItem.Display 'Отображает электронное письмо, чтобы пользователь мог изменить его по желанию перед отправкой emailItem.HTMLBody = "Просмотрите прикрепленную таблицу для невозвращенных товаров в вашем районе" & "
" & emailItem.HTMLBody 'Прикрепить текущую книгу emailItem.Attachments.Add ActiveWorkbook.FullName Set emailItem = Nothing Set emailApplication = Nothing End Sub< /p>

Когда я запускаю макрос, он отлаживает emailItem.HTMLBody = "Просмотрите прикрепленную таблицу для невозвращенных товаров в вашем районе" & "
" & emailItem.HTMLBody

Здравствуйте!
Какую версию Excel вы используете? Следующий код VBA также может помочь. Пожалуйста, попробуйте. Благодарим за отзыв.

Sub SendWorkSheet() 'Обновление с помощью Extendoffice 20220218 Dim xFile As String Dim xFormat As Long Dim Wb As Workbook Dim Wb2 As Workbook Dim FilePath As String Dim FileName As String Dim OutlookApp As Object Dim OutlookMail As Object On Error Resume Next Application. ScreenUpdating = False Set Wb = Application.ActiveWorkbook ActiveSheet.Copy Set Wb2 = Application.ActiveWorkbook Select Case Wb.FileFormat Case xlOpenXMLWorkbook: xFile = ".xlsx" xFormat = xlOpenXMLWorkbook Case xlOpenXMLWorkbookMacroEnabled: If Wb2.HasVBProject Then xFile = ".xlsm" xFormat = xlOpenXMLWorkbookMacroEnabled Else xFile = ".xlsx" xFormat = xlOpenXMLWorkbook End If Case Excel8: xFile = ".xls" xFormat = Excel8 Case xlExcel12: xFile = ".xlsb" xFormat = xlExcel12 End Select FilePath = Environ$("temp") & "\" FileName = Wb.Name & Format(теперь "dd-mmm-yy h-mm-ss") Set OutlookApp = CreateObject("Outlook.Application") Set OutlookMail = OutlookApp.CreateItem(0) Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat 'xs tr = Диапазон ("e2") & " ; " & Range("g2") С OutlookMail .Display .To = Range("e2") .CC = Range("g2") .BCC = "" .Subject = "Невозвращенное техническое оборудование" .HTMLBody = "См. таблица невозвращенных товаров в вашем регионе" & "
" & .HTMLBody .Attachments.Add Wb2.FullName '.Send End With Wb2.Close Kill FilePath & FileName & xFile Установить OutlookMail = Ничего Установить OutlookApp = Ничего Application.ScreenUpdating = True End Sub

Это действительно полезный код
Мне нужно изменить формат текста справа налево В строке xOutMsg
помогите, пожалуйста.

Я пытаюсь интегрировать этот код в текущий формат, который у меня есть в настоящее время, благодаря чему я могу автоматизировать электронные письма в Excel на основе заданного диапазона значений.Любая помощь в отношении того, куда добавить код «подписи» в то, что у меня есть в настоящее время, будет очень признательна.

Public Sub CheckAndSendMail()
'Обновлено Extendoffice 22 ноября 2018 г.
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As Строка
Dim xRgSendVal As String
Dim xMailSubject As String
Dim I As Long
Возобновить дальше при ошибке
'Пожалуйста, укажите диапазон сроков
xStrRang = "D2:D110"
Set xRgDate = Range(xStrRang)
'Пожалуйста, укажите диапазон адресов электронной почты получателей
xStrRang = "C2:C110"
Set xRgSend = Range(xStrRang)
xStrRang = "A2:A110"
Set xRgName = Range(xStrRang)
'Укажите диапазон с напоминанием о содержимом в вашем письме
xStrRang = "Z2:Z110"
>Set xRgText = Range(xStrRang)
xLastRow = xRgDate.Rows.Count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgName = xRgN ame(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For I = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(I - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date 0 Then
xRgSendVal = xRgSend.Offset(I - 1).Value
xMailSubject = "Соглашение об обслуживании JBC, срок действия которого истекает в " & xRgDateVal
vbCrLf
xMailBody = ""
xMailBody = xMailBody & "Уважаемый" & xRgName.Offset(I - 1).Value & vbCrLf
xMailBody = xMailBody & " " & xRgText.Offset(I - 1).Value & vbCrLf
xMailBody = xMailBody & ""
Set xMailItem = xOutApp.CreateItem (0)
С xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.CC = "mailcc@justbettercare.com"
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing < br />Конец подписки

Благодаря вам, теперь я могу добавить подпись, но тогда она удаляет пробелы между абзацами текста. Пожалуйста, не могли бы вы мне помочь?

Устали от проблем, связанных с автоматизацией электронной почты в приложении Outlook? Вот еще один! В сегодняшней статье мы собираемся избавиться от него и узнать, как добавить подпись к вашим автоматическим электронным письмам.


Если вы когда-нибудь пытались автоматизировать свою переписку в Outlook, вы, вероятно, уже боролись с такой проблемой. Насколько я помню, это была моя основная, может быть, не единственная, но главная задача — добавление подписи в конец вновь созданного письма с помощью VBA. Теперь, зная несколько подходов к этой теме, я решил поделиться своими знаниями и описать в этой статье, как добавить подпись к автоматическим письмам.

Как добавить подпись в электронную почту с помощью VBA?

Для сегодняшней статьи я подготовил 3 способа сделать это. Отсортировано от самого простого до самого сложного, но понятного подхода.

1. Вставить подпись из подготовленного документа Word

Это самый простой способ сделать это. В предыдущей статье я описал, как легко вставить содержимое документа Word, поэтому было бы очень удобно иметь подпись, уже подготовленную в файле документа.

Тот же эффект. Вы можете получить готовую подпись внутри кода.

2. Создать подпись из тела письма

Второй вариант — получить подпись по умолчанию из тела письма и поместить ее после содержимого письма. К сожалению, у этого метода есть 2 понижения.

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

3. Получить подпись из папки Outlook

Наконец, самый сложный подход — получить подпись из файла .htm, который находится в каталоге Outlook.

Сначала он находит каталог в папке с подписями пользователей, затем ищет файл .htm и, как последний шаг, получает содержимое этого файла в строковую переменную.

Строковая переменная получает содержимое файла .htm — сигнатуру с html-кодом. Это означает, что благодаря методу Вы сохраняете полное форматирование своей подписи, в отличие от 2-го подхода выше.

Не единственное решение

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

Автор: Томаш Плочиньски

Я хорошо разбираюсь в VBA, Excel, а также легко связываю VBA с другими приложениями Office (например, PowerPoint) и внешними приложениями (например, SAP). Я также принимаю участие в процессах RPA (WebQuery, DataCache, клиентские решения IBM Access), где я также могу использовать свой базовый набор навыков SQL.Сейчас я пытаюсь расширить свои знания в направлении TypeScript/JavaScript. Просмотреть все сообщения Томаша Плоцинского

Автор Tomasz Płociński Опубликовано 18/03/2021 14/02/2022 Категории Excel, Excel VBA, Outlook, Word Теги добавить подпись в автоматические электронные письма, электронная почта, Excel, Outlook, подпись, подпись в автоматических электронных письмах Outlook, VBA< /p>

4 мысли о «Добавьте подпись к своим автоматическим электронным письмам»

Ваш третий вариант отлично сработал. Долго искал это решение.

Томаш Плоциньский говорит:

Я рад за Вас 🙂

Мне помог вариант 3, однако в подписи были изображения, которые не отображались. Мне пришлось отредактировать HTML-файл подписи, указав полный путь к файлу, а не относительный путь от местоположения файла HTM.

Здравствуйте, не могли бы вы объяснить мне, как вы это сделали за несколько шагов?
Я новичок в vba, и он просто не отображает мои изображения в окончательном письме.

Макросы в этой статье вставят в сообщение определенный файл подписи.

Первый макрос создает новое сообщение с вставленным определенным файлом подписи. (Этот метод можно использовать для вставки любого HTML-файла в сообщение.)

создать новое сообщение с подписью

ответить с новой подписью

Если вам нужно изменить подпись в ответе, вам нужно будет удалить подпись, которая была добавлена ​​автоматически, и вставить новую. Если вы создаете новое сообщение или не сохраняете тело сообщения, вы можете вставить подпись HTML непосредственно в .HTMLBody.

Этот макрос удаляет подпись по умолчанию и добавляет новую. После использования этого макроса закладка подписи удаляется и вы не сможете изменить подпись автоматически. Вы сможете вставить другую подпись вручную.

Вам нужно будет установить ссылку на библиотеку объектов Microsoft Word в Инструменты, Ссылки.

Примеры макросов, которые вставляют стационарные файлы в новые сообщения, находятся по адресу

Во-первых: во время тестирования вам потребуется установить низкий уровень безопасности макросов.

Чтобы проверить безопасность макросов в Outlook 2010 и более поздних версиях, выберите "Файл", "Параметры", "Центр управления безопасностью", откройте "Параметры центра управления безопасностью" и измените параметры макросов. В Outlook 2007 и более ранних версиях он находится в меню «Инструменты», «Безопасность макросов». Если Outlook сообщает, что его необходимо перезапустить, закройте и снова откройте Outlook. Примечание. После того, как вы протестируете макрос и убедитесь, что он работает, вы можете либо оставить низкий уровень безопасности макроса, либо подписать макрос.

Теперь откройте редактор VBA, нажав Alt+F11 на клавиатуре.

Чтобы поместить код в модуль:

Дополнительная информация, а также снимки экрана находятся в разделе Как использовать редактор VBA.

Читайте также: