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

    erro de definição de aplicativo ou de definição de objeto

    Compartilhe

    cakanilo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 09/04/2011

    erro de definição de aplicativo ou de definição de objeto

    Mensagem  cakanilo em Qua 30 Jul 2014, 19:17

    Boa tarde,


    estou com problemas no envio de e-mail:


    este código foi adaptado para a minha realidade; em outra aplicação funciona perfeitamente só que nessa ele está dando o erro de erro de definição de aplicativo ou de definição de objeto na hora que vai definir o destinatário no to: e no cc: como resolver o problema, pois é feito o recorset na consulta ConsMailFrequenciaJul que existe o campo EmailServidor, tem hora que funciona perfeitamente e tem hora de dá o erro descrito acima.



    Private Sub Form_Open(Cancel As Integer)
    'Tratamento de erro
    On Error GoTo ErrHandle


       Dim objOutlookMsg As Outlook.MailItem
       Dim RsEmails As DAO.Recordset
       Dim Q As String
       Dim Mes As String
       Dim VarMes As Integer
       Dim Ano As String
       Dim texto1 As String
       Dim texto2 As String
       
       'Define a quebra de linha
       Q = Chr(13) & Chr(10)
       
       Mes = Me.Mes
       Ano = Me.Ano
     
       
       Select Case Me.Mes
           Case 1
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaJan")
           Case 2
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaFev")
           Case 3
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaMar")
           Case 4
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaAbr")
           Case 5
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaMai")
           Case 6
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaJun")
           Case 7
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaJul")
           Case 8
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaAgo")
           Case 9
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaSet")
           Case 10
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaOut")
           Case 11
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaNov")
           Case 12
           'Abre um recordset
           Set RsEmails = CurrentDb.OpenRecordset("ConsMailFrequenciaDez")
         
       End Select
     
      'Inicia o Outlook
       Call InitializeOutlook
       
       'Laço para ir de registro em registro, enviando um email para todos os destinatários da consulta
       While Not RsEmails.EOF
               
               If RsEmails.Fields("EmailServidor") <> "" Then
               
                    'Cria um novo objeto de email
                    Set objNewMail = gOLApp.CreateItem(olMailItem)
                           
                    'Define as propriedades de envio do email
                    With objNewMail
                           
                                         
                    'Define o destinatário
                    .To = RsEmails.Fields("EmailServidor")
                    .CC = "danilo.silva@cultura.gov.br"
                   

                         'Define o corpo do email
                            .Body = "Prezado(a) Servidor(a)," & Q & "" & _
                            Q & "            Informamos que até o momento não acusamos o recebimento da sua folha de frequência do mês " & Mes & "/" & Ano & ". Favor regularizar a situação imediatamente, considerando que a percepção da remuneração está condicionada à comprovação do cumprimento da devida jornada de trabalho. " & _
                            Q & "            Ressaltamos que, conforme disposto no art. 8º do Decreto nº 1.590, de 10 de agosto de 1995, que trata da jornada de trabalho dos servidores da Administração Pública Federal direta, das autarquias e das fundações públicas federais, utilizado por extensão aos contratados de forma temporária, que " & "A frequência do mês deverá ser encaminhada às unidades de recursos humanos do respectivo órgão ou entidade até o quinto dia útil dos mês subsequente, contendo as informações das ocorrências verificadas." & _
                            Q & " Atenciosamente," & Q & "" & Q & " Coordenação-Geral de Gestão de Pessoas - COGEP           " & Q & " Subsecretaria de Planejamento, Orçamento e Administração - SPOA            " & Q & " Secretaria-Executiva - SE            " & Q & " Ministério da Cultura - MinC"
                               
                    'Título do email
                    .Subject = "Registro de frequência - Folha(s) de  ponto pendente(s)."
                               
                    'Envia o email
                    .Send

                    End With
                                   
                    'Tira o objeto da memória
                    Set objNewMail = Nothing
                   
                    CurrentDb.Execute "INSERT INTO TBFrequenciaEmailEnviado (IDCadastro_Servidor, Ano, Mes, DTEnvio) " & _
                    Q & " VALUES (" & RsEmails.Fields("IDCadastro_Servidor") & "," & Me.Ano & "," & Me.Mes & ", #" & Format(Me.DTEnvio, "mm/dd/yyyy hh:mm:ss") & "#);"
         
           Else
           End If
                    'Move para o próximo email
                    RsEmails.MoveNext

       Wend
       
       'Tira o recordset da memória
       Set RsEmails = Nothing
       
       Me.TimerInterval = 0
       
    ErrHandle:


    'Caso ocorra um erro

    If Err.Number <> 0 Then
       MsgBox Err.Description, vbInformation, "Erro número: " & Err.Number
    End If

    Julio Lustosa
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 151
    Registrado : 23/02/2011

    Re: erro de definição de aplicativo ou de definição de objeto

    Mensagem  Julio Lustosa em Qua 30 Jul 2014, 19:31

    Cakanilo, boa tarde!

    Eu precisaria do seu sistema para analisar melhor. Tem como postar?

    Aguardo.

    cakanilo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 09/04/2011

    Re: erro de definição de aplicativo ou de definição de objeto

    Mensagem  cakanilo em Qua 30 Jul 2014, 19:40

    ok,

    para abri basta segurar o shift.

    você irá abrir o formMailFrequencia.

    qualquer coisa basta ligar no meu celular: 61-93442660 ou me passe o seu número que te ligo.
    Anexos
    FrequenciaServidor.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (2.9 Mb) Baixado 5 vez(es)

    cakanilo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 09/04/2011

    Re: erro de definição de aplicativo ou de definição de objeto

    Mensagem  cakanilo em Qui 31 Jul 2014, 15:57

    Alguém pode dar uma força.

    Julio Lustosa
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 151
    Registrado : 23/02/2011

    Re: erro de definição de aplicativo ou de definição de objeto

    Mensagem  Julio Lustosa em Qui 31 Jul 2014, 16:28

    Cara,

    Baixei o seu sistema, fiz um teste e funcionou corretamente. Foi enviado um e-mail para Danilo Silva e Ediney Paula.

    Att.

    cakanilo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 09/04/2011

    Re: erro de definição de aplicativo ou de definição de objeto

    Mensagem  cakanilo em Qui 31 Jul 2014, 21:02

    eu sei Júlio, o problema é que em algum momento ele dá erro.

    Julio Lustosa
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 151
    Registrado : 23/02/2011

    Re: erro de definição de aplicativo ou de definição de objeto

    Mensagem  Julio Lustosa em Qui 31 Jul 2014, 21:15

    Olhando mais atentamente o seu BD, vi que aquelas consultas que ele executa, dependendo do mês escolhido, não retorna o endereço de e-mail que você pede na sua instrução para preencher os campos TO e CC.

    Acredito que o erro esteja aí. Se não houver endereço de e-mail para enviar o e-mail, então ele retorna um erro para você.

    Você pode contornar isso cadastrando os e-mail ou usar a seguinte instrução:

    SairProcedimento:
    Exit Sub ou Function (se for sub-rotina ou função)
    ErrorHandler:
    If err.Number = "Número do erro" then
    "Aqui você faz o que desejar como: cancelar o procedimento e zerar as variáveis, ou tentar novamente e por aí vai"
    End If
    Resume Next

    Abraços.

      Data/hora atual: Sex 09 Dez 2016, 11:30