Я пишу сценарий в PowerShell 2.0, чтобы создать кучу встреч в календаре с использованием COM-объекта outlook. У меня был код, полностью работающий, но конечный пользователь запросил добавление форматированных таблиц в тело назначений. Попробовав несколько других вариантов, я закончил использование Mailitem.GetInspector.WordEditor
, чтобы отредактировать тело. Однако я не могу заставить тело быть сохраненным, не открывая элемент в Outlook и не ударяя его. Вот соответствующий код:Сохранить изменения в инспекторе mailitem
$newCalenderItem = $folder.Items.Add()
$newCalenderItem.Subject = $appt.Subject
$newCalenderItem.Location = $location
$newCalenderItem.Start = $d.AddHours($timeSlot.Time)
$newCalenderItem.Duration = 60 * $timeSlot.Duration
$newCalenderItem.BusyStatus = 2
$newCalenderItem.ReminderSet = $false
$newCalenderItem.Categories = $appt.Category
$newCalenderItem.Body = ""
if ($appt.BodyFile) {
$newCalenderItem.GetInspector.WordEditor.Range().InsertFile("C:\Body.rtf", "", $false, $false, $false)
#this doesn't save it
$newCalenderItem.GetInspector.WordEditor.Close([ref] -1)
}
#this saves everything but the body
$newCalenderItem.Save()
Я попытался GetInspector.Close()
, WordEditor.Close()
и WordEditor.Save()
который приносит вверх сохранить как диалог. Кто-нибудь знает, как это сделать?
Я редактирую MailItem, а не встречу. Я пробовал редактировать RTFBody, но всегда получаю сообщение об ошибке «Параметр исключения» RTFBody: «Значение не входит в ожидаемый диапазон». Поэтому я обратился к инспектору «MailItem». –
Пожалуйста, покажите свой код. Вы создали массив байтов для хранения данных? –