Как отобразить вложение в сообщении электронной почты перед отправкой, но удалить имя файла из нижней части письма после отправки - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь создать код VBA (я относительно новичок в этом), который прикрепит PDF к электронному письму. Я получил все для работы (электронная почта создана, файл прикреплен, и когда я нажимаю «отправить», электронная почта прибывает в место назначения), но когда я использую olByValue, 1 имя файла отображается в виде текста в конце электронной почты после отправки (в дополнение к фактическому отображению вложения, которое должно быть в верхней части письма).

Я пытаюсь найти способ скрыть этот текст. Я попытался использовать olByValue, 0, но часть наших протоколов на работе включает в себя ручное QCing все электронные письма перед отправкой, чтобы не было возможности случайной отправки данных клиента A клиенту B (макрос по этой причине не включает команду .Send) , Можно ли просмотреть PDF-файл, пока он прикреплен к электронному письму, перед отправкой, но не отображать имя файла в виде текста после отправки?

Я использую Excel для 365, чтобы создать тело письма и отправить данные в Outlook 365.

Ниже приведена строка кода, которая относится к вложению. Спасибо за любую помощь и, пожалуйста, дайте мне знать, если я что-то не понял.

If Range("AD45") = "Update" And Range("AJ36") = "1" And Range("AJ37") = "Yes" Then
            .Attachments.Add Range("AB26").Value, olByValue, 0
            .Body = Range("Z80").Value & vbNewLine & vbNewLine & vbNewLine & vbNewLine
    End If

1 Ответ

0 голосов
/ 11 июля 2019

Местоположение определяется форматом сообщения.

Формат Rich Text поддерживает встроенные вложения, и, следовательно, вложения отображаются в теле сообщения.Обычные текстовые сообщения и письма в формате HTML не поддерживают это и показывают вложения в отдельной строке под заголовком сообщения, но над телом сообщения.См. Вложения отображаются в теле сообщения для получения дополнительной информации.

Например, перед тем, как прикреплять файлы к электронному письму, вам нужно установить свойство BodyFormat, которое устанавливает константу OlBodyFormat, указывающую формат основного текста.:

With objMail  
 'Set body format to HTML  
 .BodyFormat = olFormatHTML  
 .HTMLBody = "<HTML><H2>The body of this message will appear in HTML.</H2><BODY>Type the message text here. </BODY></HTML>" 

 .Display  
 End With 
...