首页 > 解决方案 > VBA Outlook 使用替换保留电子邮件格式

问题描述

我目前正在使用 Excel 和 Outlook VBA,我遇到的问题是,当使用替换功能更改邮件正文时,格式(字体大小、粗体字体、超链接)被删除。这破坏了邮件的可读性,我需要改变这个问题。

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.Session.OpenSharedItem(Path) 

    With OutMail
    .To = Receiver(ActiveCell.Offset(, 11)) 'receiver is a sub-function that removes Umlauts
    .Subject = "End of contract" & ActiveCell.Value & " " & _
     ActiveCell.Offset(, 3).Value & " " & ActiveCell.Offset(, 2).Value & " - " & ActiveCell.Offset(, 6).Value
    '        .Body = Replace(OutMail.Body, "FIRST NAME; NAME", ActiveCell.Offset(, 11).Value)   'Error -> code changes all formatting
    .FlagRequest = "Follow up"
    .FlagDueBy = ReminderDate
     End With

我听说替换函数是我的问题的解决方案,但似乎替换函数的使用方式不同,我没有设法让它在我的代码中工作。谁能帮我解决这些问题?

最好的,

本杰明

标签: vbareplaceoutlook

解决方案


也许不是最好的解决方案,但您可以尝试使 email.body 创建多样化。首先更改值,然后添加格式。


推荐阅读