Я пытаюсь написать макрос, который отправляет местозаполнитель из Excel в Outlook Calendar, с использованием .0000 .Excel VBA в Outlook Appointment - Заменить форматирование функциональных полос
При использовании функции замены так:
Dim oMail as Object
Set myOlApp = CreateObject("Outlook.Application")
Set oMail = myOlApp.CreateItemFromTemplate(path)
(...)
strFind = "Value"
strNew = Cells(x ,y)
oMail.body = Replace (oMail.body, strFind, strNew)
Назначение выходит в открытый текст, все форматирование удаляется. Шрифты, ссылки и даже подпись.
Если я изменил значение .body на .HTMLbody, функция замены не работает, шаблон выходит неотредактированным. Я не хочу помещать содержимое электронных писем в тело в код, поскольку они меняются иногда, и это заставит меня редактировать макрос каждый раз, а не шаблон.
Любые предложения, пожалуйста? У меня кончились идеи.
Копировать все в пустой текстовый документ, а затем сделать замену в документе слова. Как только вы закончите, вы можете скопировать содержимое в Outlook. – Ralph
Это хорошее обходное решение, спасибо. Однако я предпочел бы решить эту проблему, поскольку кажется, что я определяю что-то неправильно, чем приступать к обходным решениям. Если другого решения нет, я буду использовать это. – Ver
Дайте мне знать, если найдете что-нибудь. Мне тоже было бы интересно. Я неоднократно видел этот вопрос (в других формах) и каждый раз, когда решение заключалось в использовании MS Word. Если бы вы нашли что-то новое, я был бы очень удивлен и заинтересован. – Ralph