Не удалось обновить тело письма в приглашении на собрание - PullRequest
0 голосов
/ 13 июня 2018

Я не могу создать приглашение на собрание.Я получаю сообщение об ошибке в строке .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 Ответ

0 голосов
/ 17 июня 2018

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

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

...