2016-08-19 84 views
0

Screeshot我在VBA中有以下代码,其中包含换行符(vbnewline/vbcrlf)。然后我在.htmlbody中调用变量“Clientname”。但它是把整个字符串中的一个线消除换行符HTML NewLine问题

'Variable "un" will be assigned a value using a "For loop" above this code 

Reading Text file: 

Set oFS = oFSO.OpenTextFile("c:\test.txt") 
TxtPro = oFS.ReadAll 

If Not (InStr(ClientName, un)) > 0 Then 
    ClientName = ClientName & vbNewLine & un 
End If 

with objmail 
.bodyformat = olformatHTML 
.htmlbody = "<HTML><BODY> " & clientname & _ 
    "<Br> Your File is given below <br> " & txtpro & "</body></html>" 
end with 

回答

1

HTML不明白/解析作为VBA做同样的方式换行。为HTML使用<BR>标记。

改变这一行ClientName = ClientName & vbNewLine & unClientName = ClientName & "<BR>" & un

编辑根据您的更新问题:

Sub test() 

    Dim oFSO   As New Scripting.FileSystemObject 
    Dim oFS   As Object 

    Dim txtPro  As String 
    Dim strHTML  As String 
    Dim clientName As String 

    Set oFS = oFSO.OpenTextFile("C:\temp\test.txt") 
    txtPro = oFS.ReadAll() 

    '/ This will replace linefeeds with <BR> to render line breaks in HTML 
    txtPro = Replace(txtPro, vbCrLf, "<BR>") 

    strHTML = "<HTML><BODY> " & clientName & _ 
    "<Br> Your File is given below <br> " & txtPro & "</body></html>" 

End Sub 
+0

就这样EHH ......它的工作。同样,你也可以让我知道为什么它搞乱了它已经有的格式。它读取一个文本文件并将其分配给一个变量txtpro。但是当我在.html文件中记得它时,格式都搞砸了。改变了上面的原始编码。 – user3323922

+0

没有得到你。你能展示你期待的格式与你所得到的格式的图像吗?分配后也不会使用TxtPro变量。 – cyboashu

+0

更新了正确和不正确格式的屏幕截图。此外,修改编码以调用txtpro变量 – user3323922