Notifications
Clear all

VBA - Selecionar conta de email remetente

3 Posts
2 Usuários
0 Reactions
1,051 Visualizações
(@p1012)
Posts: 0
New Member
Topic starter
 

Estou iniciando no vba e depois de muito pesquisar montei a macro abaixo. Fiquem à vontade para melhorá-la.

Tenho duas contas no outlook e gostaria de incluir na macro uma linha para selecionar uma das contas. Algo do tipo:

.from ...... o nome da conta ou seja lá o que for estaria indicado na célula A1 da Plan1

Alguém pode me ajudar?

Sub AAAAMandaEmail()
    
    Dim EnviarPara As String
    For i = 11 To 100
        EnviarPara = Sheets("P200").Cells(i, 12)
        If EnviarPara <> "" Then
           Texto_Emails EnviarPara
        End If
   Next i

   'Limpar o aplicativo do Outlook.
   Set OutlookMail = Nothing
   Set OutlookApp = Nothing
End Sub

Sub Texto_Emails(EnviarPara As String)
    
    'Configurando as variáveis do E-mail
    Dim Copia As String
    Dim CopiaOculta As String
    Dim Anexo As String
    Dim Referencia As String
    Dim Texto1 As String, Texto2 As String, Texto3 As String, Texto4 As String, Texto5 As String, Texto6 As String, Texto7 As String, Texto8 As String, Texto9 As String, Texto10
    Dim TextoJunto As String
    Dim Mensagem As String

    Copia = Sheets("P300").Range("L12").Value
    CopiaOculta = Sheets("P300").Range("L13").Value
    Referencia = Sheets("P300").Range("L14").Value
    Anexo = Sheets("P300").Range("L15").Value
    
    Texto1 = Sheets("P300").Range("L17").Value
    Texto2 = Sheets("P300").Range("L18").Value
    Texto3 = Sheets("P300").Range("L19").Value
    Texto4 = Sheets("P300").Range("L20").Value
    Texto5 = Sheets("P300").Range("L21").Value
    Texto6 = Sheets("P300").Range("L22").Value
    Texto7 = Sheets("P300").Range("L23").Value
    Texto8 = Sheets("P300").Range("L24").Value
    Texto9 = Sheets("P300").Range("L25").Value
    Texto10 = Sheets("P300").Range("L26").Value
 
    TextoJunto = Texto1 & vbCr & Texto2 & vbCr & Texto3 & vbCr & Texto4 & vbCr & Texto5 & vbCr & Texto6 & vbCr & Texto7 & vbCr & Texto8 & vbCr & Texto9 & vbCr & Texto10
    
    Mensagem = TextoJunto & assinatura
        
    Dim OutlookApp As Object
    Dim OutlookMail As Object
    Set OutlookApp = CreateObject("Outlook.Application")
    Set OutlookMail = OutlookApp.CreateItem(0)
    
    With OutlookMail
        .To = EnviarPara
        .CC = Copia
        .BCC = CopiaOculta
        .Subject = Referencia
        .Body = Mensagem
        .Attachments.Add Anexo
        
        'Ver ou Enviar o E-mail
        'Use .Display para ver o e-mail
        'Use .Send para enviar o e-mail
        
        .Send
        '.Display
   
    End With
   
End Sub
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
Postado : 17/05/2017 10:53 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

P1012,

Boa tarde!

Até onde eu sei, isso não é possível de fazer pelo Outlook pois trata-se de um sistema de segurança implementado pela Microsoft. Todavia, a outras formas de se enviar email sem ser pelo Outlook. Existe o objeto CDO que faz o envio de e-mail e é possível se setar quem está enviando. Veja exemplo no arquivo anexo.

 
Postado : 17/05/2017 11:55 am
(@p1012)
Posts: 0
New Member
Topic starter
 

Valeu!!!! Wagner.

 
Postado : 17/05/2017 1:15 pm