Не удалось обновить тело письма в приглашении на собрание

Я не могу создать приглашение на собрание. Я получаю сообщение об ошибке в строке.HTMLbody. Я получаю сообщение об ошибке "Ошибка времени выполнения". 438 "Объект не поддерживает это свойство или метод". Я также добавил код RangeToHTML от Ron De'Bruin.

Пожалуйста, помогите мне с просьбой.

Вот мой код:

Sub Meeting_Request()
Dim myoutlook As Object ' Outlook.Application
Dim r As Long
Dim rng As Range
Dim rng2 As Range
Dim myapt As Object ' Outlook.AppointmentItem

' late bound constants
Const olAppointmentItem = 1
Const olBusy = 2
Const olMeeting = 1

' Create the Outlook session
Set myoutlook = CreateObject("Outlook.Application")

' Start at row 18
Sheets("Automation").Select
r = 18

Do Until Trim$(Cells(r, 1).Value) = ""
'Adding Goals and other details in email draft


Set rng = Nothing
On Error Resume Next
Set rng = Range("A9:A14").SpecialCells(xlCellTypeVisible)
On Error GoTo 0

If rng Is Nothing Then
    MsgBox "The selection is not a range or the sheet is protected" & _
           vbNewLine & "please correct and try again.", vbOKOnly
    Exit Sub
End If

With Application
    .EnableEvents = False
    .ScreenUpdating = False
End With




'Sheets("Automation").Select
' Create the AppointmentItem

Set myapt = myoutlook.CreateItem(olAppointmentItem)
' Set the appointment properties
'Sheets("Automation").Select
With myapt
  .Subject = Sheets("Automation").Range("N" & r) & " day review"
  .Start = Sheets("Automation").Range("P" & r) & " " & "7:00:00 PM"
  .Duration = 0
  .Recipients.Add Sheets("Automation").Range("C" & r).Value & ";" & Sheets("Automation").Range("K" & r).Value
  .MeetingStatus = olMeeting
  ' not necessary if recipients are email addresses
  ' myapt.Recipients.ResolveAll
  '.AllDayEvent = "No"
    .BusyStatus = olBusy
   ' .BusyStatus = Cells(r, 5).Value
    .ReminderSet = False
  .HTMLBody = RangetoHTML(rng)
  .Save
  r = r + 1
  .Display
End With

Loop
End Sub

1 ответ

Элементы назначения используют разметку RTF для тел вместо HTML (см. Свойство RTFBody). Таким образом, вы не найдете HTMLBody недвижимость для встреч. Вы можете использовать объектную модель Word, если вам нужно вставить некоторую HTML-разметку в тело. См. Запись содержимого HTML в документ Word с использованием C# для получения дополнительной информации.

Начиная с Outlook 2016 вы можете попытаться получить доступ к PR_HTML свойство, которое представляет тело HTML, используя AppointmentItem.PropertyAccessor. Имя DASL - http://schemas.microsoft.com/mapi/proptag/0x10130102.

Другие вопросы по тегам