2016-08-19 5 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改行をなくす1行で文字列全体を入れていることはVBAが行うように/パースラインは同じようにフィードを理解していません。 HTMLには<BR>タグを使用してください。

変更このラインClientName = ClientName & vbNewLine & unあなたの更新質問どおり編集

ClientName = 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

...それは働きました。同じ息吹で、なぜそれが既に持っているフォーマットを台無しにしているのか教えてください。テキストファイルを読み込み、それを変数txtproに代入します。しかし、私が.htmlbodyでそれを思い出すと、フォーマットは全て乱れてしまいます。上記の元のコーディングを変更しました。 – user3323922

+0

あなたを入手できませんでした。期待しているフォーマットのイメージと、現在のフォーマットを表示できますか?また、TxtPro変数は割り当て後に使用されません。 – cyboashu

+0

正しい形式と正しくない形式の両方のスクリーンショットが更新されます。また、同じ理由でtxtpro変数 – user3323922