2016-08-19 50 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