Страницы: 1
RSS
Как вставить таблицу в нужное место шаблона Outlook через VBA
 
Итак, есть у меня шаблон Outlook, в котором достаточно длинная инструкция с картинками, ссылками и прочей фигней. И есть табличка Excel, в которой список задач. которые надо вставить в тело шаблона в строчку 10.
Гуглил-гуглил, и нагуглил, что в таких случаях табличку переводят в код HTML и через .HTMLbody задают тело письма этим переведенным кодом.
Это отправит в тело письма одну табличку. А как эту табличку вставить в определенную строчку готового шаблона?
Принципиально именно в шаблон вставлять, потому что у меня таких рассылок как грязи, и надоело копипастом заниматься.  
 
В шаблоне поставить метку. Например, PASTE_TABLE_HERE.
Потом заменяете в .HTMLbody эту строку на текст с таблицей.
 
Цитата
МатросНаЗебре написал:
Потом заменяете в .HTMLbody эту строку на текст с таблицей.
это как?
гугл предлагает решение просто вставить только таблицу в тело
.HTMLBody = RangetoHTML(rng)
чисто теоретически можно, если я все правильно понимаю:
а) перевести шаблон в HTML
б) загнать код шаблона в переменную
в) внутри переменной поменять PASTE_TABLE_HERE.на RangetoHTML(rng)
г) .HTMLBody =переменная

трудности тут именно с пунктом а)
 
Цитата
Как-то так.
Код
Set oMail = oOutlook.CreateItemFromTemplate("C:\temp\Без имени.oft")
oMail.HTMLBody = Replace(oMail.HTMLBody,"PASTE_TABLE_HERE",RangetoHTML(rng))
Не тестил, писал сразу сюда.
Изменено: МатросНаЗебре - 02.03.2021 17:42:06
 
Цитата
МатросНаЗебре написал:
Как-то так.
Спасибо, попробую, отпишусь, что получилось.  
 
Вангую, что одно из следующих сообщений будет что-то вроде "я вставил, но формат таблицы не такой как мне надо".
Как вариант, нужно создать пустое сообщение Outlook. В него копированием вставить таблицу из Excel. Из сообщения прочитать HTMLBody. Полученную строку вставить в сообщение, созданное из шаблона.
Страницы: 1
Наверх