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

    [Resolvido]CDO enviando arquivo com a extensão .DAT

    Compartilhe

    ernandofc
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 21/10/2015

    [Resolvido]CDO enviando arquivo com a extensão .DAT

    Mensagem  ernandofc em 30/11/2018, 12:56

    Olá, pessoal.

    Tenho uma instrução que envia um email e inclue um anexo, via CDO. No entanto, o arquivo é enviado no formato .DAT. Podem ver que no caminho do arquivo eu incluo a extensão, mas mesmo assim não é inserida a extensão correta. Poderiam ajudar?

    On Error GoTo erromail

    Dim Mens As Object
    Dim Config As Object
    Set Mens = CreateObject("CDO.Message")
    Set Config = CreateObject("CDO.Configuration")
    Dim seq As String, k
    Dim arquiv As Long
    Dim seq2 As String, k2

    arquiv = "\\srv2008\Vendas\Catálogos e Descrições dos Produtos\Descrições Novas\Velp\Alimentos\SISTEMA KJELDAHL BÁSICO.pdf"


    With Config

    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "email-ssl.com.br"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "pipelab@instrulab.com.br"
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "instrulab2019"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
    .Fields.Update

    End With

    Set Mens = New CDO.Message
    With Mens
    Set .Configuration = Config
    .From = "pipelab@instrulab.com.br"
    .Sender = "ernando.custodio@instrulab.com.br"
    .CC = "ernando.custodio@instrulab.com.br"
    .BodyPart.Charset = "utf-8"
    .Subject = "Seja bem-vindo a Instrulab: Equipamentos e serviços para Laboratórios"
    .HTMLBody = "Olá
    "
           .HTMLBody = .HTMLBody & "
    Por gentileza, revise o NCM do produto criado pelo usuário "
           .HTMLBody = .HTMLBody & "
    Produto:"
           .HTMLBody = .HTMLBody & "
    NCM informado:
    "
           .HTMLBody = .HTMLBody & "
    Lembrando que o usuário depende da sua revisão para conseguir orçar este produto
    "
    .To = "ernando.custodio@instrulab.com.br"
    .Attachments.Add arquiv
    .Send
    End With

    Set Mens = Nothing
    Set Config = Nothing


    erromail:
    If Err.Number = 13 Then
       Resume Next
    ElseIf Err.Number = -2147220979 Then

       MsgBox "Você inseriu um endereço de email inválido ou inexistente." & vbCrLf & "Verifique o email e tente novamente.", vbOKOnly + vbCritical, "Email inválido"

    Else
       Resume Next
    End If
    avatar
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 375
    Registrado : 01/08/2011

    Re: [Resolvido]CDO enviando arquivo com a extensão .DAT

    Mensagem  ronaldojr1 em 30/11/2018, 14:17

    boa tarde,
    na declaração do arquiv não teria que ser tipo String ao inves de long?
    Dim arquiv As String

    faz o teste ai

    ernandofc
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 21/10/2015

    Re: [Resolvido]CDO enviando arquivo com a extensão .DAT

    Mensagem  ernandofc em 30/11/2018, 15:53

    Então, ronaldojr1, se modificar para string, o arquivo não é nem anexado. Só anexa considerando como long.
    avatar
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 375
    Registrado : 01/08/2011

    Re: [Resolvido]CDO enviando arquivo com a extensão .DAT

    Mensagem  ronaldojr1 em 30/11/2018, 17:45

    boa tarde
    percebi que vc esta usando este codigo para anexar
    .Attachments.Add arquiv 'esta no plural

    tente substituir por
    Attachment.Add arquiv 'esta no singular

    e passe o arquiv para tipo string.

    no meu caso envia normalmente o anexo passando apenas o caminho do arquivo como string mesmo.





    ernandofc
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 21/10/2015

    Re: [Resolvido]CDO enviando arquivo com a extensão .DAT

    Mensagem  ernandofc em 30/11/2018, 18:12

    [/b]Então, também não funcionou. Experimentei colocar direto o caminho do arquivo, mas neste caso ele não envia o anexo. O email é enviado, já o anexo não. Veja conforme abaixo

    ----

    On Error GoTo erromail


    Dim Mens As Object
    Dim Config As Object
    Set Mens = CreateObject("CDO.Message")
    Set Config = CreateObject("CDO.Configuration")

    arquiv = "\\srv2008\Vendas\Catálogos e Descrições dos Produtos\Descrições Novas\Velp\Alimentos\SISTEMA KJELDAHL BÁSICO.pdf"


    With Config

    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "email-ssl.com.br"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "pipelab@instrulab.com.br"
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxxx"
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
    .Fields.Update

    End With

    Set Mens = New CDO.Message
    With Mens
    Set .Configuration = Config
    .From = """Ernando | Instrulab Equipamentos e Serviços"" "
    .Sender = "ernando.custodio@instrulab.com.br"
    .CC = "ernando.custodio@instrulab.com.br"
    .BodyPart.Charset = "utf-8"
    .Subject = "Seja bem-vindo a Instrulab: Equipamentos e serviços para Laboratórios"
    .HTMLBody = "Olá " & "Ernando" & ", realizamos seu cadastro e você acaba de fazer parte do nosso grupo de incríveis clientes. \o/.
    "
    .HTMLBody = .HTMLBody & "
    Fundada em 1983, a Instrulab atua em todo território nacional  distribuindo equipamentos "
    .To = "ernando.custodio@instrulab.com.br"
    .Attachment.Add "\\srv2008\Vendas\Catálogos e Descrições dos Produtos\Descrições Novas\Velp\Alimentos\SISTEMA KJELDAHL BÁSICO.pdf"
    .Send

    End With

    Set Mens = Nothing
    Set Config = Nothing
    avatar
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 375
    Registrado : 01/08/2011

    Re: [Resolvido]CDO enviando arquivo com a extensão .DAT

    Mensagem  ronaldojr1 em 30/11/2018, 19:03

    boa tarde
    não sei o que esta de errado no seu código, mas estou enviando o meu.
    acabei de fazer o teste para ver se ainda funciona e esta funcionando de boa,
    inclusive fiz teste enviando arquivo de rede igual vc.

    segue
    Código:
    Function EnviarEmail(nameFrom As String, toSender As String, msgHtml As String, subject As String, Optional pathAnexo As String, Optional pathAnexo2 As String)
    On Error GoTo erromail
    Dim Mens As CDO.Message
    Dim Config As CDO.Configuration
    Dim from As String

    from = "email@gmail.com"


    Set Config = New CDO.Configuration
    'MsgBox "chegou na func"
    With Config

    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 'seu servidor de e-mail
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 ' porta usada pelo seu servidor de e-mail
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = from 'user do servidor
    .Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxx" 'coloque a senha do seu email
    .Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

    .Fields.Update

    End With

    Set Mens = New CDO.Message

    With Mens

    Set .Configuration = Config
    .from = nameFrom 'quem envia

    If Not IsNull(from) Then
    .Sender = from 'email de quem envia.
    End If

    'If Not IsNull(Me.txtCOculta) Then
    '.BCC = Me.txtCOculta
    'End If

    .subject = subject 'caixa texto assunto
    .HTMLBody = msgHtml 'Caixa texto com o texto"
    If Not IsNull(toSender) Then
    .To = toSender 'caixa texto para quem vai o email"
    End If

    If Not IsNull(pathAnexo) And Len(pathAnexo) > 0 Then
    .AddAttachment (pathAnexo)
    End If

    If Not IsNull(pathAnexo2) And Len(pathAnexo2) > 0 Then
    .AddAttachment (pathAnexo2)
    End If

    .send ' envia

    End With
    MsgBox "Menssagem enviada com sucesso"

    Set Mens = Nothing
    Set Config = Nothing
    Exit Function

    erromail:
    MsgBox Err.Number & " " & Err.Description, vbCritical, "Erro ao enviar e-mail"
    Set Mens = Nothing
    Set Config = Nothing
    Exit Function

    End Function

    ai vc adapta para sua necessidade.
    boa sorte

    ernandofc
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 21/10/2015

    Re: [Resolvido]CDO enviando arquivo com a extensão .DAT

    Mensagem  ernandofc em 30/11/2018, 19:17

    Bah, deu certo. Troquei por:

    .AddAttachment ("\\srv2008\Vendas\Catálogos e Descrições dos Produtos\Descrições Novas\Velp\Alimentos\SISTEMA KJELDAHL BÁSICO.pdf")

    Também troquei:

    Dim Mens As Object
    Dim Config As Object

    por:

    Dim Mens As CDO.Message
    Dim Config As CDO.Configuration


    E deu certo.... cheers

    Muito obrigado.

    ernandofc
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 21/10/2015

    Re: [Resolvido]CDO enviando arquivo com a extensão .DAT

    Mensagem  ernandofc em 30/11/2018, 19:19

    rsolvido
    avatar
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 375
    Registrado : 01/08/2011

    Re: [Resolvido]CDO enviando arquivo com a extensão .DAT

    Mensagem  ronaldojr1 em 30/11/2018, 19:33

    nossa vdd como não vi isso.
    .AddAttachment ("\\srv2008\Vendas\Catálogos e Descrições dos Produtos\Descrições Novas\Velp\Alimentos\SISTEMA KJELDAHL BÁSICO.pdf")
    a falta do parenteses faz com que o resultado da função nao guarde o retorno da mesma e com isso o anexo fica nulo.
    que bom q finalmente funcionou.

    sucesso

      Data/hora atual: 16/12/2018, 11:24