Notifications
Clear all

Código para exportar como imagem funciona apenas no 2013.

2 Posts
2 Usuários
0 Reactions
559 Visualizações
(@excelkava)
Posts: 0
New Member
Topic starter
 

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
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

ExcelKava,

Boa tarde!

Anexe, por gentileza, seu arquivo aqui mesmo no fórum, compactado com .ZIP. Isso facilitará a rápida ajuda por parte de todos.

 
Postado : 06/11/2017 12:58 pm