#vba #outlook
#vba #outlook
Вопрос:
Я использую предложение kmote из этого ответа (https://superuser.com/questions/635094 /) для отправки сообщения.
У меня есть изображения и форматирование текста в моем теле. Сообщение отформатировано в текстовом режиме. Есть ли какой-либо способ преобразовать его в формат HTML, чтобы оно было таким же, как при моей встрече?
Private Sub Application_Reminder(ByVal Item As Object)
Dim objMsg As MailItem
Set objMsg = Application.CreateItem(olMailItem)
If Item.MessageClass <> "IPM.Appointment" Then
Exit Sub
End If
If Item.Categories <> "Automated Email Sender" Then
Exit Sub
End If
objMsg.To = Item.Location
objMsg.Subject = Item.Subject
objMsg.Body = Item.Body
objMsg.Send
Set objMsg = Nothing
End Sub
Комментарии:
1. Установите формат тела: learn.microsoft.com/en-us/office/vba/api /…
Ответ №1:
.Body — это текстовое тело. Если вы хотите скопировать текст Html, попробуйте:
objMsg.HtmlBody = Item.HtmlBody
Комментарии:
1. Ошибка времени выполнения ‘438’: объект не поддерживает это свойство или метод.
2. @пользователь7202022.
objMsg
это почтовый элемент, который определенно имеет текст Html. Что такоеItem
?3. это правильно
objMsg.HtmlBody = Item.Body
работает. Элемент — это назначение, из которого берется тело. Я предполагаю, что у назначения нет основной версии HTML? Вот почему это не работает?4. @user7202022 Со времени моего последнего комментария я увидел, чем
Item
являетсяIPM.Appointment
. Я не могу найти никакой полезной документации по этому классу. Если я правильно понимаю ваш комментарий,Item.Body
это Html-строка. Вы правы,AppointmentItem
имеет только текстовое тело, но поскольку оба тела являются строками, вы можете поместить Html-строку в текстовое тело. Вы получили то, что хотите, илиItem.Body
текст вашего сообщения отформатирован не так, как вам нужно?