在为html表赋值时,保持与单元格的换行符

时间:2016-08-25 06:31:04

标签: html excel excel-vba email html-email vba

我正在生成一个html电子邮件,其中包含一个基于标记值的Excel工作表中某些值的表。我遇到的问题是某些单元格中包含换行符,例如:

在单元格B5中,用户输入了:

Red
Blue
Green

每个单词之间有一个行间距。

我正在使用

<html>
    <table>
        <tr>
            <td>Cells(5,2).Value</td>
        </tr>
    </table>
</html> 

返回:

red blue green

表格单元格中的一行。我想要的是在一个表格单元格中包含3行的文本:

red
blue
green

同一行中的其他单元格可能只包含一个值,因此添加额外的行并不是我所追求的解决方案。

如何在将值分配给电子邮件中的html表时,如何保留最初输入到单元格中的换行符?

1 个答案:

答案 0 :(得分:0)

HTML需要BR个元素来标记换行符。因此,您需要将\n Chr(10)换行符替换为<br/>

像这样:

sHTML = "<html><table><tr><td>"
sHTML = sHTML & Replace(Cells(5, 2).Value, Chr(10), "<br/>")
sHTML = sHTML & "</td></tr></table></html>"