Condividi:        

Macro invio mail con firma contenente immagini

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Macro invio mail con firma contenente immagini

Postdi Marco75CT » 20/03/16 20:24

Ciao a tutti,
so che è quasi impossibile (ho cercato su diversi forum senza venirne a capo), ma vorrei inserire una firma contenente delle immagini nel corpo di una email creata tramite VBA.
Potete dirmi se è possibile o no?
Uso MSOffice 2013.
Grazie
Marco75CT
Utente Senior
 
Post: 146
Iscritto il: 05/08/11 11:54

Sponsor
 

Re: Macro invio mail con firma contenente immagini

Postdi Anthony47 » 20/03/16 23:17

Intanto devi compilare la firma usando la procedura Outlook (vedi viewtopic.php?f=26&t=102870#p598206).
Poi immagino che nella tua macro ci sia una fase in cui compili i vari campi per poi effettuare un ".Send"; devi invece inserire il tuo "MailBody" (il corpo della mail) prima della firma applicata di defaut sulle nuove mail. Puoi ottenere questo usando questa sequenza di comandi:
Codice: Seleziona tutto
With MItem
  .To = EmailAddr
  .cc = CCAddr
  .Subject = Subj
  .Display
  .HTMLBody = MailBody & "<br>" & .HTMLBody
  .Send
End With

Le variabili EmailAddr, CCAddr, Subj e MailBody devono essere gia' compilate con i relativi contenuti.

Se la tua macro e' drasticamente diversa allora pubblica il codice che usi e vedermo insieme come fare.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro invio mail con firma contenente immagini

Postdi Marco75CT » 21/03/16 12:16

Ciao Anthony47,
intanto grazie per la risposta.
Io utilizzo questo codice per inviare le emails.
Vorrei evitare, se possibile, l'HTML perchè non mi prende la giusta formattazione.
Codice: Seleziona tutto
Sub Pulsante1_Click()
Application.ScreenUpdating = False
Workbooks("Scadenzario.xlsm").Sheets("Scadenzario").Visible = True
  Dim Oggetto As String
  Dim IndirMail As String
  Dim UR As Long
  Dim Destinatario As String
  Dim Msg As String
  Dim OApp As Object
  Dim OMail As Object
  Dim signature As String
  oggi = Date
  ultimariga = Range("A65000").End(xlUp).Row
  For I = 2 To ultimariga
  If Range("E" & I) > oggi Then GoTo Salta
     
      Set OutlookApp = CreateObject("Outlook.Application")

      Oggetto = Workbooks("Scadenzario.xlsm").Sheets("Scadenzario").Range("F" & I).Value & " rif. " & Workbooks("Scadenzario.xlsm").Sheets("Scadenzario").Range("A" & I).Value
      Titolo = Workbooks("Scadenzario.xlsm").Sheets("Scadenzario").Range("B" & I).Value
      Destinatario = Workbooks("Scadenzario.xlsm").Sheets("Scadenzario").Range("C" & I).Value
      IndirMail = Workbooks("Scadenzario.xlsm").Sheets("Scadenzario").Range("G" & I).Value
 
      Msg = Titolo & " " & Destinatario & vbCrLf & vbCrLf
      If Workbooks("Scadenzario.xlsm").Sheets("Scadenzario").Range("F" & I).Value = "Scadenza opzione" Then
      Msg = Msg & "La presente per comunicare che in data " & Workbooks("Scadenzario.xlsm").Sheets("Scadenzario").Range("E" & I).Value & ", scade l'opzione in oggetto." & vbCrLf & vbCrLf
      Msg = Msg & "Qualora si fosse interessati a confermare e/o rinnovare l'opzione, si potrà contattare l'hotel all'indirizzo email ************** oppure al numero **********." & vbCrLf & vbCrLf
      Msg = Msg & "Se purtroppo non dovessimo ricevere nessuna comunicazione, entro le prossime 24 ore, l'opzione in oggetto si riterrà cancellata ed in caso di interesse, si dovrà effettuare una nuova richiesta." & vbCrLf & vbCrLf
      Msg = Msg & "Restiamo a disposizione per eventuali chiarimenti." & vbCrLf & vbCrLf
      Msg = Msg & "Cordiali saluti" & vbCrLf & vbCrLf & vbCrLf & vbCrLf
      Msg = Msg & "Ufficio Booking" & vbCrLf
      Msg = Msg & "***********" & vbCrLf
      End If
      If Workbooks("Scadenzario.xlsm").Sheets("Scadenzario").Range("F" & I).Value = "Scadenza pagamento" Then
      Msg = Msg & "La presente per comunicare che in data " & Workbooks("Scadenzario.xlsm").Sheets("Scadenzario").Range("E" & I).Value & ", scade il termine per il pagamento dell'opzione in oggetto." & vbCrLf & vbCrLf
      Msg = Msg & "Qualora si fosse interessati a confermare e/o rinnovare l'opzione, si invita a provvedere al pagamento delle spettanze dovute entro le prossime 48 ore, inviando copia dell'avvenuto versamento all'indirizzo email ************** ." & vbCrLf & vbCrLf
      Msg = Msg & "Se tuttavia non dovessimo ricevere nessuna comunicazione entro il suddetto termine, l'opzione in oggetto sarà cancellata in conformità alle politiche di cancellazione comunicate all'atto della prenotazione ed in caso di interesse, si dovrà effettuare una nuova richiesta." & vbCrLf & vbCrLf
      Msg = Msg & "Restiamo a disposizione per eventuali chiarimenti." & vbCrLf & vbCrLf
      Msg = Msg & "Cordiali saluti" & vbCrLf & vbCrLf & vbCrLf & vbCrLf
      Msg = Msg & "Ufficio Booking" & vbCrLf
      Msg = Msg & "***********" & vbCrLf
      End If
     
      Set OApp = CreateObject("Outlook.Application")
      Set OMail = OApp.CreateItem(0)
      With OMail
      .To = IndirMail
      .BCC = "*****************"
      .Subject = Oggetto
      .body = Msg
      .Display
    End With


Salta:
GoTo Fine
Fine:
Next I
End Sub

La firma si chiama Firma.
Grazie di tutto
Marco75CT
Utente Senior
 
Post: 146
Iscritto il: 05/08/11 11:54

Re: Macro invio mail con firma contenente immagini

Postdi Anthony47 » 21/03/16 13:52

L'alternativa e' un messaggio di solo test che pero' non consente l'inserimento di immagini "in linea" con il testo, solo in allegato.
Oppure formatti decorosamente il tuo messaggio in Excel e poi esporti il testo usando la Function RangePublish che ti avevo gia' suggerito qui: viewtopic.php?t=106051#p620609

Avendo il corpo del messaggio in html gli accoderai il testo della firma come ti ho detto nel messaggio di prima.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Macro invio mail con firma contenente immagini":


Chi c’è in linea

Visitano il forum: Nessuno e 61 ospiti