Boa tarde à todos!
Tenho um código aqui para enviar e-mail. Durante o processo ele exporta uma imagem da área selecionada e a coloca no corpo do e-mail bem como em anexo. Porém, no excel 2016 ele pula a parte em negrito (no código abaixo) e apresenta um erro. No entanto se eu coloco um ponto de interrupção nessa parte o Editor reconhece o que está escrito e dá continuidade. Alguém poderia por gentileza me ajudar com uma possível solução?
Segue código:
Sub Enviar_Emailv2()
Dim OutProg As Object
Dim OutMail As Object
Dim Cheias As Integer
Dim sRange As Range
Dim oCht As Chart
Dim oImg As Picture
Dim sPath As String
Dim Data As String
Dim QuantCorret As Integer
QuantCorret = ThisWorkbook.Sheets("TX_v2").Range("A18").End(xlDown).Value
ThisWorkbook.Sheets("CAPA TESTE").Select
'Coloca a variável data com o formato "dd-mm-yyyy" uma vez que para salvar como nome o sistema não aceita "/" no nome
Data = VBA.Format(VBA.Date, "dd-mm-yyyy")
For n = 1 To QuantCorret
Set OutProg = CreateObject("Outlook.Application")
Set OutMail = OutProg.CreateItem(0)
Range("D1").Value = n
Set sRange = ActiveSheet.Range("quadro_email")
[b]PARTE PULADA PELO PROGRAMA:[/b]
[b] With sRange
.CopyPicture xlScreen, xlPicture
Set oCht = ActiveSheet.ChartObjects.Add(50, 50, .Width + 5, .Height + 5).Chart
End With[/b]
[b] PARTE QUE APRESENTA ERRO POR NÃO TER DEFINIDO oCht no argumento anterior[/b]
[i] With oCht
.Paste
.Shapes(1).Left = -.ChartArea.Left
.Shapes(1).Top = -.ChartArea.Top
.Parent.Width = sRange.Width
.Parent.Height = sRange.Height
.Export Filename:="O:xxxxxxxxxImagemTemp.jpg"
.Parent.Delete
End With[/i]
With OutMail
.Display
.Subject = "xxx"
x
.To = Range("H1").Value
'.CC = Range("G1").Value
.BCC = Range("G1").Value
.Attachments.Add "xxx.jpg"
.HTMLBody = "<img src='xxx.jpg'>" 'Caminho que se encontra a imagem a ser colada no corpo do e-mail.
'or use
'"" & "<BR><BR>" & _
End With
Next
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Postado : 06/11/2017 12:03 pm