dovrei inserire una immagine nel corpo della mail, tramite excel vba ho trovato diverse soluzioni ma non riesco ad adattarla alle mie esigenze,
in realtà inserisce una immagine ma questa risulta bianca e piccola non visualizzabile,
- Codice: Seleziona tutto
Sub Inviamail()
Dim OutApp As Object
Dim OutMail As Object
Dim DESTINATARIO As String
Sheets("CONTATTI EMAIL").Select
RigheLista = Cells(Rows.Count, 2).End(xlUp).Row
For x = 2 To RigheLista
DESTINATARIO = Cells(x, 2)
mail = Cells(x, 13)
OGGETTO = Sheets("PANNELLO PRINCIPALE").Cells(1, 10).Value
NOMEPROMO = Sheets("PANNELLO PRINCIPALE").Cells(3, 10).Value
IMMAGINE = "<html><head></head><body><img src=' & PERCORSOFILEIMMAGINE & '/></b><br></body></html>"
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = mail
.CC = ""
.BCC = ""
.Subject = OGGETTO
.BodyFormat = olFormatHTML
.HTMLBody = IMMAGINE
.Display
'.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Application.SendKeys "%a"
Next x
End Sub
inoltre avevo provato, leggendo altri forum, a inserire l'immagine nella firma e quindi andare a prelevare la firma con il seguente codice, in questo secondo caso , mi inserisce la firma con la dimensione dell'immagine corretta, ma risulta bianca, invece se la inserisco manualmente si visualizza correttamente,
- Codice: Seleziona tutto
Sub email()
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim Subj As String
Dim BodyText As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Sheets("CONTATTI EMAIL").Select
RigheLista = Cells(Rows.Count, 2).End(xlUp).Row
For x = 2 To RigheLista
DESTINATARIO = Cells(x, 2)
mail = Cells(x, 13)
OGGETTO = Sheets("PANNELLO PRINCIPALE").Cells(1, 10).Value
NOMEFIRMA = Sheets("PANNELLO PRINCIPALE").Cells(3, 10).Value
'path completo dove è contenuta la propria firma di posta nel sistema
firme = "C:\Users\saxas\AppData\Roaming\Microsoft\Signatures\" & NOMEFIRMA & ".htm"
If Dir(firme) <> "" Then
Signature = GetBoiler(firme)
Else
Signature = ""
End If
With OutMail
.To = mail 'a chi e' indirizzata
.CC = "" 'per conoscenza
.Subject = OGGETTO 'oggetto
.HTMLBody = "" & strbody & "" & Signature
.Display
End With
Set OutMail = Nothing
Set OutApp = Nothing
Next x
End Sub
Function GetBoiler(ByVal sFile As String) As String
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
GetBoiler = ts.ReadAll
ts.Close
End Function
inoltre ho provato ad utilizzare il codice a questo link
http://www.outlookcode.com/d/code/htmlimg.htm
ma mi da errore in Dim oSession As MAPI.Session ' CDO objects
utilizzo office 2013 nella firma è rimasto 2010, provvedo a cambiarla
grazie per l'aiuto