Impostare un'image di background utilizzando HTML in un'email di Outlook utilizzando Excel VBA

Sto cercando di utilizzare Excel VBA per creare una email riguardante l'Istituto dei cancro dei bambini d'Australia con un'image di background (CCIALittleGirl.jpg).

Vorrei quindi avere text o una casella di text in modo ideale su di esso con text in grassetto bianco che posso popolare in fase di esecuzione.

Posso aggiungere un'image all'email (la parte di MyHTML commentata fa), ma non posso sembrare avere un'image di background da caricare, sto modificando il codice che ho trovato in linea da qualche parte, ma le mie abilità HTML sono abbastanza vicine a nulla.

Sono abbastanza sicuro che questa parte è il mio problema:

<div style=""background-image: ""cid:CCIALittleGirl.jpg"" 

Ecco il codice che ho finora, la parte MyHTML non fa quello che mi aspetto.

 Private Sub EmailCopy() Dim oApp, oMail As Object, MyHTML As String Application.ScreenUpdating = False On Error Resume Next Set oApp = CreateObject("Outlook.Application") Set oMail = oApp.CreateItem(0) 'MyHTML = "<p>TempText</p>" 'MyHTML = MyHTML & "<img src=""cid:CCIALogo.jpg"">" MyHTML = "<div style=""background-image: ""cid:CCIALittleGirl.jpg&quot""; height: 390px; width: 900px; color: rgb(0, 0, 0); margin-top: 0px; padding-left: 35px; padding-top: 25px;"">" MyHTML = MyHTML & "my text appears here and on top of the image" MyHTML = MyHTML & "</div>" With oMail .To = "[email protected]" .Subject = "TEST" .Attachments.Add "C:\Images\CCIA\CCIALogo.jpg" .Attachments.Add "C:\Images\CCIA\CCIALittleGirl.jpg" .HTMLBody = MyHTML .Display .Save .Close False End With Application.ScreenUpdating = True Set oMail = Nothing Set oApp = Nothing End Sub 

Grazie per qualsiasi aiuto che tu possa offrire.

Ha lavorato:

 MyHTML = "<body background=""cid:CCIALittleGirl.jpg""" 

Questo mette con successo l'image come background.

Per completezza (se qualcuno ha la stessa domanda) ecco la soluzione completa:

 Private Sub EmailCopy() Dim oApp, oMail As Object, MyHTML As String, WB As Workbook, FileName As String, BodyText As String, MyText As String Application.ScreenUpdating = False FileName = ArchiveFolder & ArchiveFileName On Error Resume Next Set oApp = CreateObject("Outlook.Application") Set oMail = oApp.CreateItem(0) MyText = "Please find attached the CCIA report for " & Format(Now, "DD/MM/YYYY") & "<br><br><br><br><br><br><br><br><br><br>" & _ "Congratulations to " & StrConv(Sheets("Summary").Range("A2").Text, vbProperCase) & "<br>" & _ "For an amount of: " & Replace(Sheets("Summary").Range("C2").Text, " ", "") & "<br>" & _ "Across " & Trim(Sheets("Summary").Range("B2").Text) & " donations." MyHTML = "<body background=""cid:CCIALittleGirl.jpg""; center top no-repeat;" MyHTML = MyHTML & vbCrLf & "<p style=""font-size:30px;font-weight:Bold;color:rgb(100%,100%,100%)"">" & MyText & "</p>" MyHTML = MyHTML & vbCrLf & "<br><br><br><br><img src=""cid:CCIALogo.jpg"">" With oMail .to = "[email protected]" .Subject = "CCIA report @ " & Format(Now, "DD/MM/YYYY") .Attachments.Add "C:\Images\CCIA\CCIALogo.jpg" .Attachments.Add "C:\Images\CCIA\CCIALittleGirl.jpg" .Attachments.Add FileName & ".xlsx" .HTMLBody = MyHTML .Display .Save .Close False End With Application.ScreenUpdating = True Set oMail = Nothing Set oApp = Nothing End Sub 

Sostituisci <div style=""background-image: ""cid:CCIALittleGirl.jpg""></div> con questo <div style="background-image: cid:CCIALittleGirl.jpg"></div>