Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在html中创建换行符_Html_Vba_Outlook - Fatal编程技术网

在html中创建换行符

在html中创建换行符,html,vba,outlook,Html,Vba,Outlook,场景:我正试图干扰将使用VBA发送的电子邮件的输出。我试图添加一个背景图像和一段文字 问题:图像部分工作正常,但我无法将文本分成3行 Obs:我一生中从未使用过HTML,但显然这是用VBA更改电子邮件背景的唯一方法。我试着在网上寻找答案,但我得到的最好的答案是使用,这对我不起作用 问题:正确的方法是什么 代码: Private Sub mailer2() Dim oApp, oMail As Object, MyHTML As String, WB As Workbook, FileName A

场景:我正试图干扰将使用VBA发送的电子邮件的输出。我试图添加一个背景图像和一段文字

问题:图像部分工作正常,但我无法将文本分成3行

Obs:我一生中从未使用过HTML,但显然这是用VBA更改电子邮件背景的唯一方法。我试着在网上寻找答案,但我得到的最好的答案是使用

,这对我不起作用

问题:正确的方法是什么

代码:

Private Sub mailer2()
Dim oApp, oMail As Object, MyHTML As String, WB As Workbook, FileName As String, BodyText As String, MyText As String, MyText2 As String, MyText3 As String
Dim username As String

    Application.ScreenUpdating = False

    Set oApp = CreateObject("Outlook.Application")
    Set oMail = oApp.CreateItem(0)

    username = InputBox("Please write your E-mail")

    MyText = "Greetings"
    MyText2 = "Your Macro.V.0.4 has concluded."
    MyText = "Please attend to terminal AFAP"


    MyHTML = vbCrLf & "<p style=""font-size:18px;font-weight:Bold;color:rgb(100,100,100)"">" & MyText1 & "<br>" & MyText2 & "<br>" & MyText3 & "</p>"

    'this next works, but puts everything into a single line
    'MyHTML = MyHTML & vbCrLf & "<p style=""font-size:19px;font-weight:Bold;color:rgb(100,100,100)"">" & MyText & "</p>"

    With oMail
        .To = username
        .Subject = "Automated message, please do not answer"
        .HTMLBody = MyHTML
        .Send
    End With

    Application.ScreenUpdating = True
    Set oMail = Nothing
    Set oApp = Nothing

End Sub
Private Sub-mailer2()
Dim oApp、oMail作为对象、MyHTML作为字符串、WB作为工作簿、文件名作为字符串、正文作为字符串、MyText作为字符串、MyText2作为字符串、MyText3作为字符串
将用户名设置为字符串
Application.ScreenUpdating=False
设置oApp=CreateObject(“Outlook.Application”)
设置oMail=oApp.CreateItem(0)
用户名=输入框(“请写电子邮件”)
MyText=“问候语”
MyText2=“您的宏.V.0.4已结束。”
MyText=“请注意终端AFAP”
MyHTML=vbCrLf&“

”&MyText1&“
”&MyText2&“
”&MyText3&“

” “下一步是可行的,但将所有内容放在一行中 “MyHTML=MyHTML&vbCrLf&“

”&MyText&“

” 与奥马尔 .To=用户名 .Subject=“自动留言,请不要回答” .HTMLBody=MyHTML .发送 以 Application.ScreenUpdating=True 设置oMail=Nothing 设置oApp=Nothing 端接头
您可以将HTML用于换行符:

<br>

除了brax所说的(

),您可以使用水平规则标签

。 把其中任何一个放在你想要分割的文本之间

编辑:尝试删除html中的“”。使用标签时不带这些标签

编辑2:别担心我的第一次编辑,我误读了你的代码。试试


。它应该会起作用


总的来说,你的问题很基本。下次发帖子之前,试着多挖一些。回答这样的问题很容易。

是的,正如我在OP中所写,我发现
生成换行符,我在代码中使用了它。但它不工作的方式,我正在使用它。我不明白为什么不。。。添加
Debug.Print MyHTML
并仔细检查即时窗口,以确保获得预期效果。谢谢,我这样做了,输出的只是变量MyText2,而不是它们的组合。这应该是
MyText3
MyText=“请注意终端AFAP”
准确地说,我刚才看到了,我完全是愚蠢的。谢谢你的帮助。是的,我知道这是基本的。正如我所说,我的研究让我找到了
,并在我的代码中使用了它。但即使这样,它也不能以预期的方式工作,我可以很好地找出原因。我编辑了我的答案,尝试一下不引用sunsure,如果这能起作用,因为双引号可能会引起问题。。。但请尝试使用字符代码而不是双引号:。。。MyHTML=vbCrLf&“

”&MyText1&“
”&MyText2&“
”&MyText3&“