MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Enviar e-mail

    Compartilhe

    Luciclaudio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 04/05/2016

    Enviar e-mail

    Mensagem  Luciclaudio em Sex 29 Jul 2016, 14:59

    Galera,
    Tenho uma tabela com os seguintes campos no access
    para, assunto, corpo_email e obs.
    queria ajuda com uma macro para realizar envios de e-mail linha a linha (cada um registro em uma e-mail separado) onde utilizasse os campos da tabela como referência para enviar os e-mail.

    Tenho esse código abaixo, mas o mesmo envia o "para" tudo junto, queria um e-mail para cada linha e que utilizasse os campos da tabela como assunto e os demais campos no corpo do e-mail.
    Gostaria de uma adaptação onde pudesse escolher o opção (Send ou Display)

    Private Sub SeuBotao_Click()
    Dim rst As DAO.Recordset
    Dim strDestinatarios
    Dim strTitulo
    Dim strMensagemCorpoDoEmail

    Set rst = CurrentDb.OpenRecordset("SuaTabela ou SuaConsulta")

    Do Until rst.EOF
    strDestinatarios = strDestinatarios & rst("CampoEmailDestino") & ";"
    rst.MoveNext
    Loop

    strDestinatarios = Left(strDestinatarios, Len(strDestinatarios) - 1)
    strTitulo = "teste"
    strMensagemCorpoDoEmail = "Obrigado"

    On Error Resume Next
    DoCmd.SendObject , , , strDestinatarios, _
    , , strTitulo, strMensagemCorpoDoEmail, True, False

    rst.Close
    Set rst = Nothing
    End Sub

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5889
    Registrado : 05/11/2009

    Re: Enviar e-mail

    Mensagem  Alexandre Neves em Sex 29 Jul 2016, 21:49

    Boa noite,
    Private Sub SeuBotao_Click()
    On Error Resume Next
    Dim rst As DAO.Recordset

    Set rst = CurrentDb.OpenRecordset("SuaTabela ou SuaConsulta")

    Do Until rst.EOF
    DoCmd.SendObject , , , rst("CampoEmailDestino"), _
    , , rst("CampoTitulo"), rst("CampoCorpo"), True, False

    rst.MoveNext
    Loop

    rst.Close
    Set rst = Nothing
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

      Data/hora atual: Sex 09 Dez 2016, 07:41