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

    formatar texto do email a ser enviado

    avatar
    jrm
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 136
    Registrado : 10/08/2012

    formatar texto do email a ser enviado Empty formatar texto do email a ser enviado

    Mensagem  jrm 13/10/2012, 14:10

    ola a todos
    Preciso daajuda aqui dos mestres:
    deve ser uma coisa simples mas não estou a conseguir fazer:
    tenho o seguinte codigo num dotão de um form que envia email com os dados desse form:
    Private Sub Comando15_Click()

    Dim cod As String
    Dim ser As String
    Dim DAT As String

    Dim OutApp As Object
    Dim OutMail As Object

    cod = TXCODPC
    ser = TXNSERIE
    DAT = DTORC

    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
    Set OutMail = OutApp.CreateItem(0)

    With OutMail
    .To = Me!for_Email
    .Subject = "Actualização de documentos"
    .HTMLBody = "Verifique abaixo o estado da sua documentação, tem documentos caducados ou a caducar nos proximos 5 dias:" & " Validade alvara: " & Me!dataalvara & " validade da Segurança Social:" & Me!datass
    .Send
    End With

    Set OutMail = Nothing
    Set OutApp = Nothing
    End Sub

    O que eu preciso é que o email seja enviado formatado da seguinte forma:
    Verifique abaixo o estado da sua documentação, tem documentos caducados ou a caducar nos proximos 5 dias:

    Validade alvara: me!dataalvara
    validade da segurança social: me!datass

    o que esta a fazer agora e enviar tudo numa linha

    podem ajudar SFF

    Muito agradecido pela vossa sempre grande disposição para ajudar pessoas como eu que percebemos pouco disto.

    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  Cláudio Más 13/10/2012, 15:06

    Olá,

    Veja essa pagina sobre comandos html:

    pular linha
    avatar
    jrm
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 136
    Registrado : 10/08/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  jrm 13/10/2012, 15:29

    Obrigado pela ajuda Claudio

    tentei usar o
    para pular a linha mas da erro de compilação, não estou a conseguir, pode ajudar.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  Cláudio Más 13/10/2012, 15:38

    html não é a minha especialidade, mas descreva como está .HTMLBody, não ficou claro na sua mensagem anterior.
    avatar
    jrm
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 136
    Registrado : 10/08/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  jrm 13/10/2012, 15:45

    Coloquei assim mas o codigo fica a vermelho com erro
    .HTMLBody = "Verifique abaixo o estado da sua documentação, tem documentos caducados ou a caducar nos proximos 5 dias:" (
    )
    (
    )
    "Validade alvara: " & Me!ValidadeAlvara (
    )
    "Validade da Segurança Social:" & Me!ValidadeSs


    Não coloquei os parentices no BR era a forma de aparecerem aqui...
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  Cláudio Más 13/10/2012, 16:03

    .HTMLBody deve conter código html.

    Por exemplo:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <body>
    <font style="FONT-SIZE: 15px" color="#000000" face="Arial">  Verifique abaixo o estado da sua documentação, tem documentos caducados ou a caducar nos proximos 5 dias:<br><br>  Validade alvara:<br><br>  <br> 
    </body>
    </html>

    Você pode montar o código em uma variável do tipo string e depois atribuir a .HTMLBody:

    Dim strMensagem as String

    strMensagem = <código html>
    .HTMLBody = strMensagem
    avatar
    jrm
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 136
    Registrado : 10/08/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  jrm 13/10/2012, 16:24

    se eu percebi bem, então á variavel str mensagem devo atribuir o codigo html, ficaria assim:

    strmensagem=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <body>
    <font style="FONT-SIZE: 15px" color="#000000" face="Arial"> Verifique abaixo o estado da sua documentação, tem documentos caducados ou a caducar nos proximos 5 dias:<br><br> Validade alvara:<br><br> <br>
    </body>
    </html>

    consegue explicar-me o que faz/para que serve esta parte do codigo:
    =<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    coloquei

    peço desculpa não tinha visto esta opção.


    Última edição por jrm em 13/10/2012, 16:35, editado 1 vez(es)
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  Cláudio Más 13/10/2012, 16:30

    Não está sendo possível entender suas mensagens, marque Desativar códigos HTML nesta mensagem antes de enviar.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  Cláudio Más 13/10/2012, 16:38

    Não faço a menor idéia para que sirva, desculpe. Conforme expliquei antes, html não é a minha especialidade.
    avatar
    jrm
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 136
    Registrado : 10/08/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  jrm 13/10/2012, 16:40

    tentei assim:

    strmensagem = "Verifique abaixo o estado da sua documentação, tem documentos caducados ou a caducar nos proximos 5 dias:" < br <> br > "Validade alvara:"


    With OutMail
    .To = Me!for_Email
    .Subject = "Actualização de documentos"
    .HTMLBody = strmensagem

    e no email n texto apareceu

    FALSE
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  Cláudio Más 13/10/2012, 16:45

    Estão faltando as tags <html>, <body> e aquele trecho inicial que vc questionou o objetivo na mensagem anterior.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  Cláudio Más 13/10/2012, 16:49

    Tente assim:

    strmensagem="<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'> <html> <body> <font style='FONT-SIZE: 15px' color='#000000' face='Arial'> Verifique abaixo o estado da sua documentação, tem documentos caducados ou a caducar nos proximos 5 dias:<br><br> Validade alvara:<br><br> <br> </body> </html>"
    avatar
    jrm
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 136
    Registrado : 10/08/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  jrm 13/10/2012, 17:15

    quando vou ver o email que enviou no texto so aparece escrito

    False
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  Cláudio Más 13/10/2012, 17:26

    Será necessário capturar o conteúdo da variável strmensagem para poder verificar o erro.
    avatar
    jrm
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 136
    Registrado : 10/08/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  jrm 13/10/2012, 17:53

    como faço isso?
    avatar
    jrm
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 136
    Registrado : 10/08/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  jrm 13/10/2012, 18:09

    finalmente consegui, e a informaçãoq ue voce passou resolvia o problema soq ue eu eatava a esquecer de colocar as aspas para conseguir inserir os valores do form. então ficou assim:
    rivate Sub EnviarEmail_Click()

    Dim cod As String
    Dim ser As String
    Dim DAT As String
    Dim strmensagem As String

    Dim OutApp As Object
    Dim OutMail As Object

    cod = TXCODPC
    ser = TXNSERIE
    DAT = DTORC

    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
    Set OutMail = OutApp.CreateItem(0)
    strmensagem = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'> <html> <body> <font style='FONT-SIZE: 15px' color='#000000' face='Arial'> Verifique abaixo o estado da sua documentação, tem documentos caducados ou a caducar nos proximos 5 dias:<br><br> Validade alvara:" & Me!ValidadeAlvara < br <> br > "Validade Seg social:" & Me!ValidadeSS & "<br> <br> </body> </html>"
    With OutMail
    .To = Me!for_Email
    .Subject = "Actualização de documentos"
    .HTMLBody = strmensagem
    .Send
    End With

    Set OutMail = Nothing
    Set OutApp = Nothing
    End Sub

    Ja agora tenho mais um pequeno problema em que precisava de ajuda:
    tenha a seguinte consulta sql:

    SELECT tblFornecedores.for_Nome, tblFornecedores.for_Endereço, tblFornecedores.for_Local, tblFornecedores.[for_Cod Postal], tblFornecedores.for_Contato, tblFornecedores.for_Telefone, tblFornecedores.For_movel, tblFornecedores.for_Email, tblFrutas.NAlvará, tblFrutas.ValidadeAlvará, tblFrutas.InscriçãoSS, tblFrutas.ValidadeSS, tblFrutas.SeguroAT, tblFrutas.ValidadeAT, tblFrutas.SeguoRC, tblFrutas.ValidadeRC
    FROM tblFornecedores LEFT JOIN tblFrutas ON tblFornecedores.idFornecedor = tblFrutas.Idfornecedor
    WHERE (((tblFrutas.ValidadeAlvará)<Now())) OR (((tblFrutas.Idfornecedor) Is Null)) OR (((tblFrutas.ValidadeSS)<Now()+5)) OR (((tblFrutas.ValidadeAT)<Now()+5)) OR (((tblFrutas.ValidadeRC)<Now()+5));

    que me devolve qualquer registo que tenha pelo menos um dos 4 documentos caducados, eu pretendia que se o documento estivesse valido em vez de devolver a data de validade devolvesse a palavra "valido" e quando o campo validade estivesse em branco devolvesse "em falta", ja tentei mas não consegui adaptar a consulta , pode ajudar SFF
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  Cláudio Más 13/10/2012, 19:09

    Acrescente antes do From:

    , IIF(IsNull(tblFrutas.ValidadeAT), "Em falta", tblFrutas.ValidadeAT) AS NomeCampo

    Serve para o caso do campo validade em branco, a outra situação eu não entendi quais campos utilizar, mas pode adaptar o exemplo acima para criar mais um campo no Select.
    avatar
    jrm
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 136
    Registrado : 10/08/2012

    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  jrm 13/10/2012, 20:00

    Sim realmente as vezes fica um pouco dificil perceber até porque esta BD é a adaptação de uma outra e eu não mudei o nome de algmas tabelas e de outros objectos da BD.
    Então passo a explicar suponha que a tabela TBLfronecedores é uma tabela de fornecedores e a tabela TBLfrutas é uma tabela de documentação, então o que eu pretendo é uma consulata em que para cada registo na tabela fornecedores verifique se existe registo na tabela Documentos, se não existir devera devolver para os 4 compos de validade de documentos o texto "falta documento",se existir registo devera sempre que algum campo esteja em branco, deve devolver tambem "falta documento",para cada campo de validade que a data de validade seja maior que (hoje +5 dias) deverá devolver a data da tabela, para os capmos em que a data é inferior a hoje deve devolver "caducado", para os que a dta for maior que hoje mas inferior a hoje +5 devera devolver "vencimento breve".

    O que pretendo é saber se ha algum documento caducado, algum que esta quase a caducar(proximos 5 dias) se os documentos não foram cadastrados, estão em falta, e os que estão em vigor com + de 5 dias de validade.
    a consulta que eu fiz devolve os registos para os quais ha pelo menos um documento caducado ou quase a caducar.
    não preciso saber os fornecedores que tem todos os documentos calidos com + de 5 dias.

    Conteúdo patrocinado


    formatar texto do email a ser enviado Empty Re: formatar texto do email a ser enviado

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 16:59