VBA не может изменить кодировку в теле HTML MailItem - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть макрос Excel, отправляющий персонализированные файлы в виде вложений электронной почты Outlook в список людей.

Текст сообщения HTML взят из источника обычной электронной почты, полученной в Outlook. Атрибут charset в 'head' был установлен на 'iso-8859-1' (ISO для Западной Европы), и он не поддерживает некоторые символы, например c для венгерского. Я заменил его на «iso-8859-2» (ISO Центральная Европа), но электронное письмо все еще отправляется в iso-8859-1. Я также установил для свойства MailCtem InternetCodepage значение 28592, которое теоретически делает то же самое, но все еще безуспешно.

Исходный метатег, извлеченный из электронного письма:

<meta http-equiv=Content-Type content='text/html; charset=iso-8859-1'>

Измененный тег:

<meta http-equiv=Content-Type content='text/html; charset=iso-8859-2'>

VBA для установки кодировки:

.InternetCodepage = 28592

Во время выполнения после установки свойства HTMLBody этот метатег полностью отсутствует в строке.

Результат:

<meta http-equiv=Content-Type content='text/html; charset=iso-8859-1'>

Вы бы правильно предположили, что, возможно, настройки Outlook также мешают работе, но я уже установил кодировку «Центральноевропейская (ISO)» для исходящих сообщений.

Идеи

...