使用Replace()替换电子邮件中的换行符

时间:2015-10-09 20:55:10

标签: excel vba excel-vba email line-breaks

尝试通过Excel自动化使用VBA的Outlook电子邮件。

在我的代码末尾,我在Excel单元格中有一串由;#分隔的值(例如:;#abacus;#bicycle;#cheese;#)。

一旦我到达电子邮件创建部分的.HTMLBody部分,我就使用Replace()删除分隔符。

.HTMLBody = Replace(.HTMLBody, ";#", ", ")

这很棒,因为它用逗号分隔列表。我还有另一个处理开头的部分(我的列表开头之前的;#)。这将查找" List:,"

的特定实例
.HTMLBody = Replace(.HTMLBody, "List: , ", "List:")

现在应该阅读:"列表:算盘,自行车,奶酪,"

我试图在列表结束后删除额外的逗号和空格(" cheese,"应该以" cheese"结束)。 List将始终具有不同长度的不同值,不一定以干酪结尾,但始终以;#为基础,以值分隔符结束。

我知道最后一个值总是在电子邮件中返回< br >,但是当我尝试使用此代码时,它不起作用(换行符包括括号周围的空格以不破坏代码块,他们不在我真正的VBA代码中):

.HTMLBody = Replace(.HTMLBody, ", < br >< br >", "< br >< br >")

基于我疯狂的替换值系统(在这种情况下,旨在替换三次),我觉得它应该有效,但事实并非如此。

VBA是否无法搜索包含换行符的字符串并将其替换为换行符?

我也觉得有更好的方法可以做到这一点 - 我的VBA充其量只是粗制滥造。

0 个答案:

没有答案