MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

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
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6203
    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 23 Jun 2017, 11:18