Cómo incluir texto formateado en el cuerpo de una invitación de Outlook desde una macro en Excel
Me gustaría saber si tenía una forma de insertar texto con formato (enlaces, negrita, resaltado ...) en una invitación de Outlook utilizando macros de Excel. Tengo un programa que envía invitaciones automáticamente desde Excel y funciona increíblemente bien, el único problema es que el cuerpo solo contiene texto sin formato. Estoy usando .body pero tengo miedo de tener que usar un enfoque diferente (.HTMLBody no funciona para invitaciones y RTFbody parece estar demasiado complicado por lo que he leído).
¿Ya has hecho esto? ¿Qué enfoque debo tener? ¡Tengo plantillas de cuerpo en Word, en perspectiva como partes rápidas, en el portapapeles y en otros lugares si eso ayuda!
¡Gracias por tu ayuda! :)
os mejores deseos, Pablo
Editar
Código
Sub Invite_Merge(meeting_date As Date, meeting_time As Double,
meeting_duration As Integer, client_email As String, meeting_subject As String,
meeting_location As String, client_name As String, meeting_body As String,
meeting_sender As String)
Dim O As Outlook.Application
Set O = New Outlook.Application
Dim OAPT As Outlook.AppointmentItem
Set OAPT = O.CreateItem(olAppointmentItem)
OAPT.MeetingStatus = olMeeting
Dim meeting_start
meeting_start = DateValue(meeting_date) + meeting_time
With OAPT
.Recipients.Add (client_email)
.Subject = meeting_subject
.Start = meeting_start
.Duration = meeting_duration
.Location = meeting_location
'.body = here is where I have trouble, the property body only allows me to insert plaintext, .HTMLBody is not a AppointmentsItem property and I have not found an example code on how to use convert a formatted text (with links, bold, different fonts...) into a compatible .RTFBody byte array
.Display
'.Send
End With
End Sub
Sub Send_Invites()
row_number = 2
Do
DoEvents
row_number = row_number + 1
If IsEmpty(Sheet1.Range("D" & row_number)) = False Then
Call Invite_Merge(Sheet1.Range("A" & row_number), Sheet1.Range("B" & row_number), Sheet1.Range("C" & row_number), Sheet1.Range("D" & row_number), Sheet1.Range("E" & row_number), Sheet1.Range("F" & row_number), Sheet1.Range("G" & row_number), Sheet1.Range("H" & row_number), Sheet1.Range("A" & "1"))
End If
Loop Until row_number = 100
End Sub