Хорошо, тогда: D Большое спасибо за вашу помощь, я всегда буду благодарен за это :) С наилучшими пожеланиями и хорошего дня!

ел бы знать, если бы у вас был способ вставить текст с форматом (ссылки, полужирный, выделенный ...) в приглашении Outlook, используя макросы Excel. У меня есть программа, которая автоматически отправляет приглашения из Excel, и она работает на удивление хорошо, единственная проблема в том, что тело содержит только простой текст. Я использую .body, но я думаю, что мне придется использовать другой подход (.HTMLBody не работает для приглашений, а RTFbody кажется слишком сложным для того, что я прочитал!).

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

Спасибо за помощь! :)

С наилучшими пожеланиями, Пабло

Редактировать:

Код:

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

Ответы на вопрос(1)

Ваш ответ на вопрос