MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

2 participantes

    Enviar e-mail

    avatar
    Luciclaudio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    Enviar e-mail Empty Enviar e-mail

    Mensagem  Luciclaudio 29/7/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
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Enviar e-mail Empty Re: Enviar e-mail

    Mensagem  Alexandre Neves 29/7/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: 5/12/2022, 17:18