尝试通过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充其量只是粗制滥造。