更改电子邮件的背景图像

时间:2018-01-26 11:33:23

标签: vba excel-vba email outlook excel

场景:我正在尝试创建一个代码,以便每次使用VBA完成宏时发送电子邮件。我在第一个答案中从这里得到了一个样本Setting a background image using HTML in an outlook email using Excel VBA

问题:我对这个示例进行了一些细微的修改,但是现在,当我发送邮件时,它带有一个标题但是完全是空的(没有图像也没有文本)。

Obs:没有错误发生,代码执行顺利。

问题:对可能发生的事情有任何想法?

代码:这就是我目前正在使用的内容(顺便说一下,用作背景的图像与宏文件位于同一文件夹中)。

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

    Application.ScreenUpdating = False
    FileName = ArchiveFolder & ArchiveFileName

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

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

    MyText = "Greetings" & vbNewLine & vbNewLine & _
              "Your Macro has concluded." & vbNewLine & vbNewLine & _
              "Please attend to terminal AFAP"

    MyHTML = "<body background=""cid:Doge.jpg""; center top no-repeat;"

    MyHTML = MyHTML & vbCrLf & "<p style=""font-size:30px;font-weight:Bold;color:rgb(100%,100%,100%)"">" & MyText & "</p>"

    With oMail
        .To = username
        .Subject = "Automated message, please do not answer"
        .HTMLBody = MyHTML
        .Display
        .Send
    End With
    Application.ScreenUpdating = True
    Set oMail = Nothing
    Set oApp = Nothing
End Sub

1 个答案:

答案 0 :(得分:1)

CSS中的颜色使您的文字不可见,您应该更改以下内容:

color:rgb(100%,100%,100%)

可能不使用百分比的RGB颜色,因为这似乎适用不透明度,100%意味着不可见。如果您将上面的行替换为下面的行,它应该按预期工作:

color:rgb(100,100,100)