inviare immagine con thunderbird
Hai un problema con Excel? 
inviare immagine con thunderbird
di Marco Augusto (utente non iscritto) data: 29/08/2017 16:17:00
Salve a tutti
ho questa semplice macro per inviare email con thunderbird da un foglio excel e funziona perfettamente (Sendmail)
Ora vorrei inviare come CORPO dell'email una immagine creata sempre con excel con il generatore di macro quest'altra (Macro 3)
Sub sendmail()
Dim BodyMsg As String, Indirizzo As String, Oggetto As String
BodyMsg = Range("A3:").Value
Indirizzo = Range("A1").Value
Oggetto = Range("A2").Value
Shell "C:Program Files (x86)Mozilla Thunderbird hunderbird -compose " _
& Chr$(34) & "to='" & Indirizzo & "',subject='" & Oggetto & "',body='" & BodyMsg _
& Chr$(34), vbNormalFocus
Application.Wait Now + TimeValue("00:00:03")
SendKeys "^{ENTER}"
End Sub
Sub Macro3()
Range("C25:E38").Select
Selection.Copy
Range("H6:J19").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Copy
Range("H25").Select
ActiveSheet.Pictures.Paste.Select
ActiveSheet.Shapes.Range(Array("Picture 24")).Select
Range("G23").Select
ActiveSheet.Shapes.Range(Array("Picture 24")).Select
Selection.ShapeRange.Shadow.Type = msoShadow34
With Selection.ShapeRange.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 112, 192)
.Transparency = 0
End With
With Selection.ShapeRange.Line
.Visible = msoTrue
.Weight = 2.25
End With
Range("L22").Select
ActiveSheet.Shapes.Range(Array("Picture 24")).Select
Application.CutCopyMode = False
Selection.Copy
End Sub
|
di Friedrich data: 29/08/2017 20:22:57
Ciao Marco Augusto,
non ho modo di provare non avendo Thunderbird installato, ma dovrebbe funzionare incollando l’immagine nel corpo della mail, mediante SendKeys "^v" che equivale al comando Ctrl + v. Lascia vuota la cella A3 che corrisponde al corpo della mail. Ho “cucito” insieme le tue macro per creare l’immagine e quindi inviare la mail.
Sub Macro3 ()
Dim BodyMsg As String, Indirizzo As String, Oggetto As String
Range("C25:E38").Select
Selection.Copy
Range("H6:J19").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Copy
Range("H25").Select
ActiveSheet.Pictures.Paste.Select
ActiveSheet.Shapes.Range(Array("Picture 24")).Select
Range("G23").Select
ActiveSheet.Shapes.Range(Array("Picture 24")).Select
Selection.ShapeRange.Shadow.Type = msoShadow34
With Selection.ShapeRange.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 112, 192)
.Transparency = 0
End With
With Selection.ShapeRange.Line
.Visible = msoTrue
.Weight = 2.25
End With
Range("L22").Select
BodyMsg = Range("A3").Value
Indirizzo = Range("A1").Value
Oggetto = Range("A2").Value
Shell "C:Program Files (x86)Mozilla Thunderbird hunderbird -compose " _
& Chr$(34) & "to='" & Indirizzo & "',subject='" & Oggetto & "',body='" & BodyMsg _
& Chr$(34), vbNormalFocus
ActiveSheet.Shapes.Range(Array("Picture 24")).Select
Application.CutCopyMode = False
Selection.Copy
Application.Wait Now + TimeValue("00:00:03")
SendKeys "^v"
SendKeys "^{ENTER}"
End Sub |
di patel data: 29/08/2017 20:46:50
inviare come CORPO ? non come allegato ?
di marco (utente non iscritto) data: 30/08/2017 11:54:33
Grazie Friedrich; risolta perfettamente.
di marco (utente non iscritto) data: 30/08/2017 19:07:31
Ciao Friedrich e tutti
Ho modificato leggermente il codice perchè mi serviva che facesse entrambe le cose:
ossia incollare sia i dati come body e sia come immagine.
L'immagine l'ho modificata ed ora è linkata ad un range di celle (b19:d33) che variano al variare dei dati nel range b11:q11
Ora la macro funziona perfettamente se la lancio con una scorciatoia da tastiera (ctrl i) oppure se premo il tasto esegui.
Viceversa se l'associo ad un pulsante di controllo modulo i dati dell'immagine sono sfalsati temporalmente rispetto a quelli realmente inseriti ed a quelli del body.
Esempio: se inserisco 1 e premo (ctrl i) risulterà 1 immagine ed 1 body
Poi inserisco 2 e premo il pulsante con associata la macro risulterà 1 immagine e 2 body
inserisco 3 e premo (ctrl i) risulterà di nuovo corretto 3 immagine ed 3 body
ora non è che sia un grande problema premere (ctrl i), però vorrei capire come mai e nel caso correggere.
Sub NATOMO()
Dim BodyMsg As String, Indirizzo As String, Oggetto As String
ultimariga = Cells(Rows.Count, "i").End(xlUp).Row
ActiveSheet.Range("i" & ultimariga, "ae" & ultimariga).Copy
Sheets("INVIAMAIL").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Dim cell As Range
For Each cell In Sheets("INVIAMAIL").Range("b11:q11")
strbody = strbody & cell.Value & vbNewLine
Next
Indirizzo = Range("A7").Value
Oggetto = Range("A8").Value
Shell "C:Program Files (x86)Mozilla Thunderbird hunderbird -compose " _
& Chr$(34) & "to='" & Indirizzo & "',subject='" & Oggetto & "',body='" & strbody & Chr$(34), vbNormalFocus
ActiveSheet.Shapes.Range(Array("Picture 33")).Select
Application.CutCopyMode = False
Selection.Copy
Application.Wait Now + TimeValue("00:00:03")
SendKeys "^v"
SendKeys "^{ENTER}"
Sheets("BASE").Select
Range("I1").Select
' va in ultima cella piena
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = "ito"
ActiveCell.Interior.ColorIndex = 6
Range("I1").Select
' va in ultima cella piena
Selection.End(xlDown).Select
' scende nella cella successiva
ActiveCell.Offset(1).Select
Selection.ClearContents
End Sub |
Vuoi Approfondire?